mysql错误;错误代码:1136。列计数与第1行的值计数不匹配

时间:2018-11-04 05:03:54

标签: mysql mysql-error-1136

我正在学习MySQL,并试图创建一个基本表。但是我得到这个错误;错误代码:1136。列计数与第1行的值计数不匹配。

use mydb ;
lock table user write;
insert into user(username,password,email,created,last_updated) values (
    ('TEST USERNAME','TEST PASSWORD','Test@test.com',current_timestamp(),current_timestamp()), 
    ('TEST USERNAME 2','TEST PASSWORD 2','Test2@test.com',current_timestamp(),current_timestamp())

);
unlock tables;

表中的列是(id,用户名,密码,电子邮件,创建的,最后更新的)。谢谢。

2 个答案:

答案 0 :(得分:2)

去掉Values (..), (..)的括号,即 ,它应该改为insert into user(username,password,email,created,last_updated) values ('TEST USERNAME','TEST PASSWORD','Test@test.com',current_timestamp(),current_timestamp()), ('TEST USERNAME 2','TEST PASSWORD 2','Test2@test.com',current_timestamp(),current_timestamp());

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name
    [PARTITION (partition_name [, partition_name] ...)]
    [(col_name [, col_name] ...)]
    {VALUES | VALUE} (value_list) [, (value_list)] ...
    [ON DUPLICATE KEY UPDATE assignment_list]

Docs中,语法为:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
     

...

     使用VALUES语法的

INSERT语句可以插入多行。至   为此,请包括多个以逗号分隔的列值的列表,   列表括在括号内并用逗号分隔。示例:

{{1}}

答案 1 :(得分:0)

您表中的列具有ID,但编写时却没有ID

insert into user(username,password,email,created,last_updated)

您应该写

insert into user(id,username,password,email,created,last_updated)