INSERT i auto increment-kolumn

Databaser & SQL

3 svar · 253 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,

258 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)