mysql:错误1265数据截断列#due_date'在第1行

时间:2015-07-23 06:21:42

标签: mysql

我正在尝试将数据插入book_loans,其中date_outdue_date为日期。

以下是我尝试运行但due_date

的查询
insert into book_loans(book_id2,branch_id1,card_no,date_out,due_date)
        values ('1565927699',4,9021, current_date(), current_date()+14)

它表示' 0000-00-00'在due_date和警告:error 1265 data truncated for column 'due_date' at row1

我尝试使用getdate(),但它给出了库不存在的错误。 可能是什么问题?

3 个答案:

答案 0 :(得分:1)

如果您正在运行此命令

select current_date()+14 from dual

你会看到发生了什么。结果是20150737什么不是正确的日期。这就是你得到错误的原因。

答案 1 :(得分:0)

选择 current_date()+ 14 为您提供一个数值,而不是日期值,这是为什么数据被截断并且未在表格中正确插入的原因。

您需要使用 date_add()功能将当前日期+ 14天插入:

date_add(current_date(), interval 14 day)

答案 2 :(得分:0)

我认为您在当前日期添加了14天。这些SQL对您有用。

INSERT INTO book_loans(book_id2,branch_id1,card_no,date_out,due_date)
            VALUES ('1565927699',4,9021, CURRENT_DATE(),  
                     DATE_ADD(CURRENT_DATE(), INTERVAL 14 DAY));

谢谢。