我正在尝试将数据插入book_loans
,其中date_out
和due_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()
,但它给出了库不存在的错误。
可能是什么问题?
答案 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));
谢谢。