IDENTITY_INSERT i MSSQL

Databaser & SQL

4 svar · 210 visningar · startad av nanne

Medlem sedan dec. 19991 749 inlägg
Trådstart#1

Sitter här med mina forum och försöker koda om från mySQL till MSSQL.

När jag ska lägga till en nya post i databasen så får jag felmeddelandet

Warning: MS SQL message: An explicit value for the identity column in table 'artikel' can only be specified when a column list is used and IDENTITY_INSERT is ON. (severity 16) in e:\websites\lsi/newforum/artadm.php3 on line 219

Warning: MS SQL: Query failed in e:\websites\lsi/newforum/artadm.php3 on line 219

jag tittade i referensen och hittade hur man gör detta.

mssql_query("SET IDENTITY_INSERT artikel ON");
          $resadm=mssql_query("insert into artikel values (0,$Xpid,$Xfid,'$Xtitle',$Xartdate,'$UserName','$Xmsg','$Xname','$Xemail','')");

Problemet är att felet uppstår ändå. Måste man ha inställt något speciellt eller så?

Medlem sedan dec. 200012 464 inlägg
#2

Du måste ange kolumn-listan i insertstatementet i det här fallet


resadm=mssql_query("insert into artikel(kol1,kol2,kol3,kol4,kol5,kol6,kol7,kol8,kol9,kol10) values (0,$Xpid,$Xfid,'$Xtitle',$Xartdate,'$UserName','$Xmsg','$Xname','$Xemail','')");
Medlem sedan dec. 19991 749 inlägg
#3

Hur fean får man indentity fältet att räknas upp ett snäpp när man gör insert då?

argh!...

Medlem sedan dec. 200012 464 inlägg
#4

Man utelämnar den kolumnen helt och hållet från insert-statementet. Tex, om kol1 är identitykolumnen.

resadm=mssql_query("insert into artikel(kol2,kol3,kol4,kol5,kol6,kol7,kol8,kol9,kol10) values ($Xpid,$Xfid,'$Xtitle',$Xartdate,'$UserName','$Xmsg','$Xname','$Xemail','')");

och då behöver du inte mickla med identity_insert heller.

--------------------------------------------------------------------------------

Medlem sedan dec. 19991 749 inlägg
#5

Grejt!... du har räddat min dag... Tack så mkt!

254 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)