我想把它放到数据库中。所有行都是正确的。每行也是字符串/文本,“Id”除外,它是一个自动递增的Int值。
我收到一个意外错误,但是,列数与第1行的值计数不匹配。查询有什么问题?
INSERT INTO `world2_main`.`Messages` (
`Id` ,
`ToId` ,
`FromId` ,
`Subject` ,
`Message` ,
`Read` ,
`Original Sender` ,
`Date`
)
VALUES (
NULL, '3611', '156', 'You are so...', 'Cool.', '0', '3611' '1338590308');
答案 0 :(得分:8)
以及Id是一个自动递增的int值,并在其中放入一个null。
只做
INSERT INTO `world2_main`.`Messages` (
`ToId` ,
`FromId` ,
`Subject` ,
`Message` ,
`Read` ,
`Original Sender` ,
`Date`
)
VALUES ( '3611', '156', 'You are so...', 'Cool.', '0', '3611' '1338590308');
编辑:实际上在3611之后只是一个缺少的逗号。但是避免插入id仍然很好。
INSERT INTO `world2_main`.`Messages` (
`ToId` ,
`FromId` ,
`Subject` ,
`Message` ,
`Read` ,
`Original Sender` ,
`Date`
)
VALUES ( '3611', '156', 'You are so...', 'Cool.', '0', '3611', '1338590308');
答案 1 :(得分:5)
我还发现,如果你想要插入的表上有一个触发器,并且该触发器有另一个带有不匹配的列和值的insert语句,它将抛出该错误“列计数与值计数不匹配在行“。
答案 2 :(得分:2)
请记住三件事:
不要这样做-
insert into agent(eid, ename, email, phone, score) values(
(2, 'b', 'b', 5, 3),
(1, 'a', 'a', 5, 3)
);
您必须改为这样做
insert into agent(eid, ename, email, phone, score) values
-> (1, 'a', 'a', 5, 3),
-> (2, 'b', 'b', 5, 3);
谢谢
答案 3 :(得分:1)
您可能定义了不同数量的参数,并且可能传递了不同数量的参数。
您可能有:
INSERT INTO `buyers`(`key1`, `key2` )
VALUES (value1,value2,value3 );
INSERT INTO中的参数数量大于VALUES