MySQL的。错误代码1136

时间:2016-05-19 20:09:59

标签: mysql

我正在尝试在mysql中插入一些值,但我得到错误代码1136,我验证了其中一个值是自动增量所以我不必输入那个,其余的总共18个正是我正在写的总价值,有人可以帮助我吗?

这是我正在使用的表:

FIELD               TYPE    NULL  KEY  DEFAULT  EXTRA
id_display_detail   int(11) NO    PRI           auto_increment
amount              double  NO          
amount_lc           double  NO          
exchange            double  NO          
company        varchar(10)  NO          
date               datetime NO          
description    varchar(100) NO          
document_number varchar(20) NO          
document_type   varchar(2)  NO          
posting_key     varchar(3)  NO          
special_gl      varchar(1)  NO          
status           int(11)    NO          
voucher_number  varchar(40) NO          
year             int(11)    NO  MUL     
id_currency      int(11)    NO  MUL     
id_employee      int(11)    NO  MUL     
credit           bit(1)     YES         
card_type       varchar(45) NO          
line_item        int(11)    YES         

这是我的代码:

INSERT INTO display_detail VALUES (300,300,0,'2001','2016-04-11',
   'Downpayment ZM00080621','2000010802','ZP','29','R',0,
     'GCCTEA 8062130',2016,1,1561,0,NULL,1);

我错过了什么吗?

3 个答案:

答案 0 :(得分:2)

  

并且其中一个值是自动递增的,所以我不必输入那个

这不会改变VALUES子句中值的数量必须与列数匹配的事实。

您需要指定NULL作为auto_increment列的值 - 或者在INSERT首先指定列列表。

答案 1 :(得分:1)

您错过了列名称 (因为id是自动的,你提供的值不计算列数,所以必须声明列名)

 INSERT INTO display_detail ( amount,
        amount_lc ,
        exchange ,
        company  ,
        date  ,
        description ,
        document_number,
        document_type ,
        posting_key ,
        special_gl ,
        status  ,
        voucher_number  ,
        year  ,
        id_currency ,
        id_employee  ,
        credit ,
        card_type ,
        line_item  )   VALUES (300,300,0,'2001','2016-04-11',
           'Downpayment ZM00080621','2000010802','ZP','29','R',0,
             'GCCTEA 8062130',2016,1,1561,0,NULL,1);

答案 2 :(得分:0)

您似乎没有列出INSERT语句中的列。 MySQL查询通常如下所示:

INSERT INTO table
(column1, column2, ... )
VALUES
(expression1, expression2, ... ),
(expression1, expression2, ... ),
...;

(摘自:http://www.techonthenet.com/mysql/insert.php

最终的查询将是这样的:

INSERT INTO display_detail 
(amount, amount_lc, exchange, company, date, description, 
document_number, document_type, posting_key,special_gl,status,voucher_number,year,
id_currency, id_employee, credit, card_type, line_item) 
    VALUES (300,300,0,'2001','2016-04-11',
       'Downpayment ZM00080621','2000010802','ZP','29','R',0,
         'GCCTEA 8062130',2016,1,1561,0,NULL,1);