Sql 错误消息(列计数与第1行的值计数不匹配)
我目前正在尝试在数据库表中插入值,我创建的数据库如下所示:Sql 错误消息(列计数与第1行的值计数不匹配),sql,sql-insert,Sql,Sql Insert,我目前正在尝试在数据库表中插入值,我创建的数据库如下所示: recipeid - int (Primary key) NOT NULL recipename - varchar(80) reciperating - int recipephoto - longtext 但是,当我尝试发出如下所示的sql语句时: (插入userRecipeInfo值('Fried rice',4,'https://i.guim.co.uk/img/media/03734ee186eba543fb3d0e35db
recipeid - int (Primary key) NOT NULL
recipename - varchar(80)
reciperating - int
recipephoto - longtext
但是,当我尝试发出如下所示的sql语句时:
(插入userRecipeInfo值('Fried rice',4,'https://i.guim.co.uk/img/media/03734ee186eba543fb3d0e35db2a90a14a5d79e3/0_173_5200_3120/master/5200.jpg?width=1200&height=900)
错误消息将显示以下内容:
Column count doesn't match value count at row 1
我想知道是什么导致了这个错误。谢谢!您的INSERT语句提供了3个值,但您的表有4列。您需要限定目标列,这是强烈建议的,即使您为所有列提供了值
insert into userRecipeInfo
(recipename, reciperating, recipephoto )
values
('Fried rice',4,'https://i.guim.co.uk/img/media/03734ee186eba543fb3d0e35db2a90a14a5d79e3/0_173_5200_3120/master/5200.jpg?width=1200&height=900')
因为您的表有4列,但只传递3个值。 对于insert语句,最好始终指定列名:
insert into userRecipeInfo (recipename ,reciperating ,recipephoto )
values('Fried rice',4,'https://i.guim.co.uk/img/media/03734ee186eba543fb3d0e35db2a90a14a5d79e3/0_173_5200_3120/master/5200.jpg?width=1200&height=900)
并希望recipeid自动生成
指定列名的优点是:
insert into userRecipeInfo (recipename ,reciperating ,recipephoto )
values('Fried rice',4,'https://i.guim.co.uk/img/media/03734ee186eba543fb3d0e35db2a90a14a5d79e3/0_173_5200_3120/master/5200.jpg?width=1200&height=900)
- 如果您的模式在将来发生更改,并且您添加了一个可为null的列,那么该语句将不会中断
- 如果重新创建了数据库并且列的顺序发生了更改,那么如果在语句中指定了匹配的列名,则没有问题
userinfo
userrecipeinfo
,约束userrecipeinfo\u ibfk\u 1
外键(recipeid
)参考资料accountinfo
(id
)”