webForumDet fria alternativet
Logga in / Bli medlem

INSERT i auto increment-kolumn

Databaser & SQL

3 svar · 243 visningar · startad av Skarre

Medlem sedan apr. 20012 427 inlägg
Trådstart#1

Jag prövade precis den kortare versionen av INSERT, d.v.s:

INSERT INTO tabell VALUES('abc','def','ghi')

Men ingenting hände eftersom antalet värden inte överensstämmer med antalet kolumner i tabellen. Detta beror på att jag trodde att jag kunde strunta i den första kolumnen eftersom den är en "auto_increment"-kolumn, men det kan man uppenbarligen inte och min fråga är då vad jag bör ange som första värde. Jag prövade med en tom sträng ('') och det fungerade, men är det rätt att göra så?

Medlem sedan dec. 200012 464 inlägg
#2

Nej, egentligen inte (men om det fungerar så ...)

INSERT INTO tabell(c1,c2,c3) VALUES('abc','def','ghi')

Ange de kolumner som får värden.

Medlem sedan apr. 20012 427 inlägg
#3

Man ska alltså inte använda den korta versionen av INSERT (utan angivna kolumner) om tabellen har ett auto_increment-fält?

Medlem sedan juni 200032 967 inlägg
#4

Det borde inte vara några som helst problem, så länge man ser till att ha med alla andra fält, som inte tillåter nullvärden eller har defaultvärden.

Mvh,

443 ms totalt · 4 externa anrop · v20260731065814-full.c32e866c
185 ms — deklarationer (db)
126 ms — hämta statistik (db)
130 ms — hämta tråd, inlägg och bilagor (db)
181 ms — ändringar (db)