2014-06-24 3 views
0

MySQL 5.6의 DATE 필드에 NULL을 삽입하는 문제가있는 것 같습니다. 오류 코드 : 1292입니다. 잘못된 날짜 값 : 행 1의 'StartDate'열의 '' 'DATE 필드에 NULL을 삽입하십시오. MySQL 5.6

다음은 테이블 설명입니다. StartDate 및 EndDate는 DATE 유형, NULLABLE 및 기본값 인 NULL입니다.

활성 비트 (1) NO B'1 '
ClientContact의 VARCHAR (255) YES
된 ClientID INT (11) 부호 NO MUL
ClientReferenceNumber의 VARCHAR (100) YES
설명 MEDIUMTEXT YES
종료 날짜 일 YES
HourlyRate 소수 (6,2) YES
시간의 INT (11) YES
노트 텍스트 YES
OffShoreAmount 진수 (10,2) YES
OnSh oreAmount 진수 (10,2) YES
ParentWorkOrderID의 INT (11) 부호 YES MUL
ReferenceNumber의 VARCHAR (100) YES
STARTDATE 일 YES
TotalAmount 진수 (10,2) YES
WorkOrderID의 INT (10) 부호 NO PRI auto_increment WorkOrderTypeID int (10) 부호 없음 아니요 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을 삽입하는 적절한 방법은 무엇입니까?

+1

'NULL'을 삽입하지 않았습니다. 빈 문자열을 삽입하고 있습니다. – shmosel

+0

아 맞아, 병합하는 동안 PHP 코드에 뭔가가 일어 났고 값과 열의 순서가 잘못되었습니다. – greyfox

답변

0

'을 (를) 포함하지 않고 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'); 
0

적절한 방법과 동일하지 않다.

예를 들어 필드의 경우 'thisisastring'1과 같은 값을 지정할 수 있습니다. NULL도 유효하며 필드가 널을 허용하는 경우에만 허용됩니다. 참고 : ''은 null이 아닌 빈 문자열을 의미하며 'null'은 null이라는 단어가 포함 된 문자열을 의미합니다. 널 위해

당신이 도움이 IS NULL 또는 IS NOT NULL

희망을 사용하여 검사합니다.

관련 문제