我有一个SQL问题 - 这是我的表:
INSERT INTO Compte ([Compte_Id], [Compte_Nom], [Compte_Prenom],
[Compte_Date_Naissance], [Compte_Rue],
[Compte_Telephone], [Compte_Mail], [Compte_Pseudo],
[Compte_MotDePasse], [Compte_Compte_Ogrine],[Compte_Argent_reel])
VALUES ('ui', 'ui', '1996-06-25', 'ui', '09', 'ui', 'ui', 'ui')
我想在我的C#程序中使用这个表,所以我的插件看起来像这样:
getAttributes : function(jsonParams){
//my code
},
但如果我把它放在我的SQL Server上,它就不起作用了!
错误讯息:
Msg 109,Level 15,State 1,Line 2
INSERT语句中的列多于VALUES子句中指定的值。VALUES子句中的值数必须与INSERT语句中指定的列数相匹配。
答案 0 :(得分:4)
'INSERT语句中更多列,而不是VALUES子句中指定的值
如果指定了列名,那么必须为该列提供 值。
'fix'是删除要分配默认值的列名称;这包括任何标识列。
INSERT INTO Compte (
-- Don't include this, identity column! [Compte_Id]
[Compte_Nom]
,[Compte_Prenom]
,[Compte_Date_Naissance]
,[Compte_Rue]
,[Compte_Telephone]
,[Compte_Mail]
,[Compte_Pseudo]
,[Compte_MotDePasse])
-- Don't specify, assume default value! ,[Compte_Compte_Ogrine]
-- Don't specify, assume default value! ,[Compte_Argent_reel])
VALUES
('ui','ui','1996-06-25','ui','09','ui','ui','ui')
答案 1 :(得分:2)
正如消息所示"有更多列" ,您的插入中有11列,但只有8列。
请勿在{{1}}语句中包含identity
列(Compte_Id)
答案 2 :(得分:1)
INSERT中的列数必须与VALUES中的列数相匹配。 你在INSERT中有11列,在VALUES中有8列。
此外,Compte_Id是一个标识列,因此您不必在insert语句中为其指定值,因为SQL Server将自动为其设置值。
在查询中删除[Compte_Id],[Compte_Compte_Ogrine]和[Compte_Argent_reel]。
答案 3 :(得分:0)
现在它正常工作。
INSERT INTO Compte ([Compte_Nom], [Compte_Prenom],
[Compte_Date_Naissance], [Compte_Rue],
[Compte_Telephone], [Compte_Mail], [Compte_Pseudo],
[Compte_MotDePasse])
VALUES ('ui', 'ui', '1996-06-25', 'ui', '09', 'ui', 'ui', 'ui')`