当我将数据库中的数据插入到具有identity
规范的表中时,我遇到了错误。
SQL
string query = "insert into student values('"+txtname.Text+"','"+name_image+"','"+txtage.Text+"','"+txtaddress.Text+"')";
错误是
列名或提供的值与表定义不匹配。
答案 0 :(得分:3)
您应该养成始终的习惯,指定要插入值的显式列列表 - 这样,您可以省略identity
列并防止出现此错误:< / p>
INSERT INTO dbo.Student(Col1, Col2, ...., ColN)
VALUES(Val1, Val2, ...., ValN)
只是说INSERT INTO dbo.Students VALUES(...)
表示您必须为每个列提供一个值 - 包括identity
列 - 您无法为其提供值!
答案 1 :(得分:1)
不要尝试填写自动增量列。提供除自动增量列以外的列值。
假设Column-1自动递增,则查询将为
Insert into tableName(Column-2,column-3,..) Values(val-2,val-3,..);
保留自动增量列