在DATE字段MySQL 5.6中插入NULL
我似乎遇到了在MySQL 5.6的DATE字段中插入NULL的问题。 错误是错误代码:1292.错误的日期值:''在第1行的'StartDate'列。
这里是表格的描述。 StartDate和EndDate都是DATE类型,NULLABLE和默认值NULL。
有效位(1)否b'1'
ClientContact varchar(255)是
ClientID int(11)unsigned NO MUL
ClientReferenceNumber varchar(100)是
描述mediumtext YES
结束日期是
HourlyRate decimal(6,2)YES
小时数int(11)是
注意文字是
OffShoreAmount小数点(10,2)是
OnShoreAmount小数(10,2)是
ParentWorkOrderID int(11)unsigned YES MUL
ReferenceNumber varchar(100)是
StartDate日期是
TotalAmount decimal(10,2)是
WorkOrderID int(10)unsigned 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
而不是''。 另外, 'Null'
不等于NULL
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,
NULL,
1,
'Jebus');
将null插入字段的正确方法是使用NULL
。
例如,对于某个字段,您可以指定诸如'thisisastring'
和1
。 NULL
也是有效的,只有当该字段允许空值时才可接受。 注意: ''
表示空字符串,不为空, 'null'
表示包含单词null的字符串。
对于空检查,你使用IS NULL
或IS NOT NULL
希望有所帮助。
链接地址: http://www.djcxy.com/p/25091.html