Wert für AUTO_INCREMENT Spalte setzen

MySQL, PostgreSQL, SQLite
andreasbinder
Posts: 28
Joined: 2003-09-29 11:59

Wert für AUTO_INCREMENT Spalte setzen

Post by andreasbinder » 2003-11-19 12:29

Hallo Leute,

ich habe eine mySQL Datenbanktabelle, die eine Spalte ID vom Typ int(11) auto_increment enthält.

Da die Daten regelmäßig exportiert und weiterverarbeitet werden, soll die Datenbanktabelle nach einem Export geleert werden, aber der letzte Wert der ID erhalten bleiben, damit die neuen Datemsätze eine noch nicht vergebene ID bekommen.

Wie kann ich eine Datenbanktabelle leeren und den Wert des auto_increment Elementes erhalten bzw. wie kann ich den Wert setzen (ohne eine Datensatz einzufügen)?

Vielen Dank.

impulz
Posts: 22
Joined: 2002-10-22 17:08
Location: Paderborn

Re: Wert für AUTO_INCREMENT Spalte setzen

Post by impulz » 2003-11-19 13:52

When you add an AUTO_INCREMENT column, column values are filled in with sequence numbers for you automatically. You can set the first sequence number by executing SET INSERT_ID=# before ALTER TABLE or using the AUTO_INCREMENT = # table option. See section 5.5.6 SET Syntax.
http://www.mysql.com/doc/en/ALTER_TABLE.html

Allerdings muss das Set insert_id direkt vor dem naechsten Insert oder Alter Table erfolgen, daher koennte es da probleme geben..

Evtl. kann man AUTO_INCREMENT=x auch direkt in nem Alter Table angeben

andreasbinder
Posts: 28
Joined: 2003-09-29 11:59

Re: Wert für AUTO_INCREMENT Spalte setzen

Post by andreasbinder » 2003-11-19 14:05

Hi,

d.h. doch, dass ich nach dem nächsten Export und Leeren der Tabelle mit dem Befehl SET INSERT_ID= [letzte ID + 1] den Wert der ID setzen kann, oder?

Andy

andreasbinder
Posts: 28
Joined: 2003-09-29 11:59

Re: Wert für AUTO_INCREMENT Spalte setzen

Post by andreasbinder » 2003-11-19 14:12

ALTER TABLE test AUTO_INCREMENT = 100;

funktioniert und setzt den Wert korrekt.

Andy