AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Auto-increment bei erstellen einer tabelle??
Thema durchsuchen
Ansicht
Themen-Optionen

Auto-increment bei erstellen einer tabelle??

Ein Thema von plautzer · begonnen am 29. Aug 2004 · letzter Beitrag vom 17. Jan 2006
Antwort Antwort
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#1

Auto-increment bei erstellen einer tabelle??

  Alt 29. Aug 2004, 17:26
Hi,

ich möchte eine tabelle während der Laufzeit erstellen,
jedoch funzt das mit den Auto-increment nicht.

Delphi-Quellcode:
with query do
    begin
    DatabaseName := 'test';
    SQL.Clear;
    SQL.Add('create table "Gruppe1.db"');
    SQL.Add('(');
    SQL.Add(' ID int not null auto_increment,');
    SQL.Add(' Gruppe char(20),');
    SQL.Add(' Name char(30),');
    SQL.Add(' Vorname char(30),');
    SQL.Add(' Strasse char(30),');
    SQL.Add(' Hausnr char(10),');
    SQL.Add(' PLZ Char(10),');
    SQL.Add(' Ort char(20),');
    SQL.Add(' Telefon char(30),');
    SQL.Add(' primary key(ID)');
    SQL.Add(')');
  end;
Es kommt immer eine Fehlermeldung das der ausdruck auto-increment nicht für sql bekannt ist.
Wie bekomme ich das zu laufen?

Plautzer
  Mit Zitat antworten Zitat
MarkusB

Registriert seit: 3. Apr 2004
Ort: Hamburg
105 Beiträge
 
#2

Re: Auto-increment bei erstellen einer tabelle??

  Alt 29. Aug 2004, 19:45
Moin plautzer!

Versuch es mal mit "AUTOINC" statt "auto_increment".

Viele Grüße
Markus

  Mit Zitat antworten Zitat
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#3

Re: Auto-increment bei erstellen einer tabelle??

  Alt 29. Aug 2004, 20:47
Nope...

hat leider auch nicht funktiniert!

Trotzdem danke,

Plautzer
  Mit Zitat antworten Zitat
MarkusB

Registriert seit: 3. Apr 2004
Ort: Hamburg
105 Beiträge
 
#4

Re: Auto-increment bei erstellen einer tabelle??

  Alt 29. Aug 2004, 21:17
Moin plautzer!

Folgendes funktioniert ohne Probleme:

Delphi-Quellcode:
with query do
begin
  SQL.Clear;
  SQL.Add('create table "Gruppe1.db"');
  SQL.Add('(');
  SQL.Add(' ID autoinc,');
  SQL.Add(' Gruppe char(20),');
  SQL.Add(' Name char(30),');
  SQL.Add(' Vorname char(30),');
  SQL.Add(' Strasse char(30),');
  SQL.Add(' Hausnr char(10),');
  SQL.Add(' PLZ Char(10),');
  SQL.Add(' Ort char(20),');
  SQL.Add(' Telefon char(30),');
  SQL.Add(' primary key(ID)');
  SQL.Add(')');

  execsql;
end;
Viele Grüße
Markus
  Mit Zitat antworten Zitat
plautzer

Registriert seit: 23. Aug 2003
172 Beiträge
 
#5

Re: Auto-increment bei erstellen einer tabelle??

  Alt 29. Aug 2004, 22:19
Abend MarkusB

es funzt doch... da stand ich wohl ein bizzl auf'm schlauch

Vielen Dank,

Plautzer
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Auto-increment bei erstellen einer tabelle??

  Alt 27. Jan 2005, 17:03
Ich habe eine mySQL Datenbank und wenn ich die tabelle so definiere und zur Laufzeit anlge:
query := 'CREATE TABLE Kontakte(id autoinc, name text, vorname text, strasse text, plz int, ort text, telefon text, handy text, email text)'; Dann wird mir die Tabelle erst gar nicht angelegt.

Nachtrag: Das ID Feld soll ein autoimkrement Feld sein. Also da soll die DB automatisch einen eindeutigen Wert eintragen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
clues1

Registriert seit: 11. Feb 2004
97 Beiträge
 
#7

Re: Auto-increment bei erstellen einer tabelle??

  Alt 27. Jan 2005, 18:26
Nur zur ergänzung:

MSAccess "ID COUNTER PRIMARY KEY"
Meine Easy Database Komponenten[/url] (EDB) Datenbankfuntionen für Delphi Personal/Std und höher. MySQL, MSSQL, Access (JET), Oracle, CSV, TXT, DBase und noch viele mehr. http://www.delphipraxis.net/internal...ct.php?t=37505
  Mit Zitat antworten Zitat
MarkusB

Registriert seit: 3. Apr 2004
Ort: Hamburg
105 Beiträge
 
#8

Re: Auto-increment bei erstellen einer tabelle??

  Alt 27. Jan 2005, 22:30
Moin Luckie!

Das mit „autoinc“ war Paradox. MySQL erwartet ein „AUTO_INCREMENT“. Auszug aus MySQL manual:

Zitat:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]
[table_options] [select_statement]

create_definition:
col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT]
[PRIMARY KEY] [reference_definition]
or PRIMARY KEY (index_col_name,...)
...
Hast Du auch die entsprechenden Rechte um eine Tabelle anzulegen?

Viele Grüße
Markus
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Auto-increment bei erstellen einer tabelle??

  Alt 27. Jan 2005, 22:37
Habe alles hinbekommen.
CREATE TABLE Kontakte(id INT NOT NULL AUTO_INCREMENT, name text, vorname text, strasse text, plz int, ort text, telefon text, handy text, email text, PRIMARY KEY(id))
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Karstadt

Registriert seit: 8. Nov 2005
788 Beiträge
 
#10

Re: Auto-increment bei erstellen einer tabelle??

  Alt 17. Jan 2006, 11:26
hallo. wie kann ich den autoincrement nachträglich setzen?

so setze ich ein primärkey

Close;
sql.Clear;
SQL.Text:='Create unique index primary on artikel (art_id)';
ExecSQL;

Autoinc ist aber nicht aktiv
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz