【发布时间】:2014-08-15 00:09:54
【问题描述】:
我似乎遇到了在 MySQL 5.6 中将 NULL 插入 DATE 字段的问题。错误是错误代码:1292。日期值不正确:第 1 行的列 'StartDate' 的日期值不正确。
这是表格说明。 StartDate 和 EndDate 都是 DATE 类型,NULLABLE,默认值为 NULL。
有效位(1) NO b'1'
ClientContact varchar(255) 是
ClientID int(11) 无符号 NO MUL
ClientReferenceNumber varchar(100) 是
说明 mediumtext 是
EndDate 日期 是
HourlyRate decimal(6,2) 是
小时 int(11) 是
备注文本是
OffShoreAmount 小数(10,2) 是
OnShoreAmount 十进制 (10,2) 是
ParentWorkOrderID int(11) 无符号 YES MUL
ReferenceNumber varchar(100) 是
开始日期日期是
TotalAmount decimal(10,2) 是
WorkOrderID int(10) 无符号 NO PRI auto_increment
WorkOrderTypeID int(10) unsigned NO MUL
但是以下查询不起作用。
INSERT INTO WorkOrder
(ParentWorkOrderID, WorkOrderTypeID, ClientID, ReferenceNumber, ClientReferenceNumber,
Description, StartDate, EndDate, OnShoreAmount, OffShoreAmount, TotalAmount, HourlyRate,
Hours, Notes, Active, ClientContact)
VALUES (NULL, 1, 89, 'et-care-001', 'HG453443', '', '', '', 10, 0, 10, NULL, NULL,
'', 1, 'Jebus');
INSERT INTO WorkOrder
(ParentWorkOrderID, WorkOrderTypeID, ClientID, ReferenceNumber, ClientReferenceNumber,
Description, StartDate, EndDate, OnShoreAmount, OffShoreAmount, TotalAmount, HourlyRate,
Hours, Notes, Active, ClientContact)
VALUES (NULL, 1, 89, 'et-care-001', 'HG453443', '', '', '', 10, 0, 10, 'NULL', 'NULL',
'', 1, 'Jebus');
我很肯定这在 MySQL 5.5 中有效。将 null 插入字段的正确方法是什么?
【问题讨论】:
-
您插入的不是
NULL,而是一个空字符串。 -
啊,你是对的,PHP 代码在合并期间发生了一些事情,并且值和列的顺序错误