Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Leute,

hab folgendes Problem

Zur Zeit hab ich ein kleines Problem mit dem Zahlenzusatztyp AUTO_INCREMENT

ALTER TABLE [tabelle] ADD [spalte] MEDIUMINT UNSIGNED PRIMARY KEY

AUTO_INCREMENT;

-> soweit funktionierts

und jetzt will ich den AUTO_INCREMENT einen ersten Wert mitgeben, ab dem

er zählen soll

ALTER TABLE [tabelle] ADD [spalte] MEDIUMINT UNSIGNED PRIMARY

AUTO_INCREMENT=1000;

das Funktioniert nicht, was ist falsch an der Syntax?

wäre cool wenn jemand eine Antwort weiß

Raudi

Geschrieben

AUTO_INCREMENT = # kann ich leider nicht testen das geht erst ab MySQL 3.23.x.

Aber Alternativ benutze SET INSERT_ID :

mysql> SET INSERT_ID=1000;

mysql> ALTER TABLE foo ADD bla INT PRIMARY KEY AUTO_INCREMENT FIRST;

Das tuts dann auch...

Geschrieben

Oder falls Du die DB sowieso mit einer Programmiersprache ansprichst, die Sequence dort benutzen und in die Tabelle einfügen in der Du sie haben willst!

HINSE :cool:

Geschrieben

auto_increment funktioniert auch in frueheren versionen, allerdings denke ich nicht das du einen anfangswert zu weisen kannst, da das ding nur dazu dient dir eine einfach und elegant eine row id zu generieren, so dass du nie mehr das problem doppelter datensätze hast.

Geschrieben
Original erstellt von souse:

<STRONG>auto_increment funktioniert auch in frueheren versionen, allerdings denke ich nicht das du einen anfangswert zu weisen kannst</STRONG>

AUTO_INCREMENT ja, aber nicht AUTO_INCREMENT=xyz, das ist eine Table option die erst in 3.23 implementiert wurde.

Das SET INSERT_ID=abc dient dazu, den Startwert des AUTO_INCREMENTS festzulegen, und das funktioniert zumindest schon unter 3.22.

Geschrieben

Hi

Ne andere Frage zu diesem Thema: Wie füge ich bei Auto_Increment einen Datensatz ein ?

z.B. das Create:

create table USER (ID INT AUTO_INCREMENT, NAME VARCHAR(15) NOT NULL, VORNAME VARCHAR(15) NOT NULL, EMAIL VARCHAR(40) NOT NULL, PW VARCHAR(8), PRIMARY KEY(ID))

Dann das insert um einen Datensatz einzustellen ?

Geschrieben
Original erstellt von Erbeere:

<STRONG>z.B. das Create:

create table USER (ID INT AUTO_INCREMENT, NAME VARCHAR(15) NOT NULL, VORNAME VARCHAR(15) NOT NULL, EMAIL VARCHAR(40) NOT NULL, PW VARCHAR(8), PRIMARY KEY(ID))

Dann das insert um einen Datensatz einzustellen ?</STRONG>

Entweder:

insert into USER (NAME,VORNAME,EMAIL,PW) values ("Mustermann","Max","max@mustermann.com","GeHeIm");

oder (bevorzugt weil kürzer :) ):

insert into USER values (NULL,"Mustermann","Max","max@mustermann.com","GeHeIm");

Sprich: AUTO_INCREMENT-Felder dürfen NULL zugewiesen bekommen und generieren dann ihren Wert selbst.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...