这是我的代码,它给了我:"错误代码1241.操作数应包含1列" 。我已经盯着它看了几个小时,而我无法弄清楚是什么导致它。我也可以提供create table语句,如果这会有所帮助。另外我使用的是MySQL Workbench 56。
对于格式错误的代码感到抱歉,这是我的第一篇文章,所以如果我违反任何规则请告诉我。我很高兴再次提交。
旧代码:
INSERT INTO sales (sales_id, sales, salesman, customer, date, region)
VALUES
(
(null,null,null,...),
(...),
);
更正后的代码:
INSERT INTO sales (sales_id, sales, salesman, customer, date, region)
VALUES
(null, 2456.00, 'Barb', 'D-Square', '2014/06/10', 'N Reg'),
(null, 3894.00, 'Barb', 'Lowes', '2014/05/08', 'N Reg'),
...(last row);
我认为有两件事有助于澄清我如何解决这个问题。首先,我按照所选答案中的建议重新排列了所有内容,但也意识到我的VALUES语句有太多括号。
是:VALUES((第一行),(第二行),......);
但实际上正确的方法是: VALUES(第一行),(第二行)......(最后一行);
我没有意识到输入"书挡"声明是 VALUES ......和...... ;
另外我的日期格式不正确,应该是YYYY / MM / DD而不是MM / DD / YYYY
感谢您的帮助!我对这个社区的活跃和快速感到非常惊讶。你们是救命的人。
答案 0 :(得分:2)
insert
的问题在于您已经翻转了数据:insert期望逐行组织值,就像在表格中一样。您提供了逐列组织的数据。
一旦您“翻转”数据以按正确的顺序排列,插入就会起作用:
INSERT INTO sales (sales_id, sales, salesman, customer, date, region)
VALUES
(null, 2456.00, 'Barb', '06/10/2014', 'D-Square', 'N Reg')
, (null, 3894.00, 'Barb', '05/08/2014', 'Lowes', 'N Reg')
, ... -- And so on for the remaining 26 rows
答案 1 :(得分:0)
您似乎正在尝试执行多插入但是语法错误 它看起来像:
INSERT INTO sales (sales_id, sales, salesman, customer, date, region)
VALUES(null, 2456.00, 'Barb', '06/10/2014', 'D-Square', 'N Reg'),
(null, 3894.00, 'Barb', '05/08/2014', 'Lowes', 'N Reg'),
...