首页 文章

将NULL插入DATE字段MySQL 5.6

提问于
浏览
0

我似乎遇到了在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是
结束日期是
HourlyRate小数(6,2)是
小时int(11)是
备注文本是
OffShoreAmount十进制(10,2)是
OnShoreAmount十进制(10,2)是
ParentWorkOrderID int(11)unsigned YES MUL
ReferenceNumber varchar(100)是
StartDate日期是
TotalAmount decimal(10,2)YES
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插入字段的正确方法是什么?

2 回答

  • 0

    插入 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');
    
  • 0

    将null插入字段的正确方法是使用 NULL .

    例如,对于字段,您可以指定 'thisisastring'1 等值 . NULL 也是有效的,只有在字段允许空值时才可以接受 . 注意: '' 表示空字符串,不为空, 'null' 表示包含单词null的字符串 .

    对于空检查,您使用 IS NULLIS NOT NULL

    希望有所帮助 .

相关问题