복붙노트

[SQL] # 1292 - 잘못된 날짜 값을 '0000-00-00'[중복]

SQL

# 1292 - 잘못된 날짜 값을 '0000-00-00'[중복]

난 내와 같은 제목이 많은 질문을 참조하지만,이 질문이 중복되지 않도록 그들은 다른 접근 방식과 다른 문제가 있습니다.

나는 열 fm_sctrdate는 날짜 형식이며, 기본값 0000-00-00가있는 테이블이있다.

웹 사이트에 의해 삽입이 잘 작동되지만 내가 phpMyAdmin에 의한 값을 삽입 할 때 나는 오류 다음 얻었다.

MySQL의 버전은 5.7.11입니다. 한 가지 더 최근에 우리의 서버는 5.7.11에 mysqlnd 5.0.12로 업그레이드하고있다.

다음은 쿼리입니다

INSERT INTO `iavlif_fmp_clientquote` (`jm_cqid`, `fmsq_id`, `fmsg_id`, 
`fm_sctrdate`, `fm_sctrtime`, `fm_sctbaggage_weight`,     
`fm_sctfreight_weight`, `fm_sctpassenger`, `fm_sctinfant`, 
`fm_sctinfant_details`, `fm_sctinfant_dob`, `fmtp_id`, `fmtpi_id`,
`jmcnt_id`, `fm_name`, `fm_company`, `fm_email`, `fm_phone`, `fmts_id`,
`jmts_id`, `fm_pax_nbr`, `fm_hours_nbr`, `fmqt_id`, `fmtr_id`,
`fm_sctnotes`, `fm_locdepart`, `fm_locarrive`, `fm_sctconsignment_weight`,
`fm_sctconsignment_dimensions`, `fm_sctconsignment_desc`, `fm_sctdangerous`,
`fm_scturgent`, `fm_sctspecial_instructions`, `fm_sctquote_type`,
`fm_sctwork_type`, `fm_sctreoccuring`, `fm_sctaccommodation`, `fm_sctcar`,
`fm_recdate`, `fm_recenddate`, `fm_recfrequency`, `fm_rectime`,    
`fm_medical`, `fm_medical_details`, `fm_user_ip`, `fm_dang_details`,
`fm_sctsubstance`, `fm_sctpurchase_number`, `fm_role_id`, `fm_myrole_id`,
`jm_myrole_id`, `fm_sctwork_point`, `fm_locdepartarrive`, `fm_sctnbr`, 
`fm_dateCreated`, `fm_cc`, `fm_gl`, `fm_timeCreated`, `jm_qtid`, `jmtp_id`,
`jmtpi_id`, `jmsg_id`, `jms_id`, `jmsq_id`, `fms_id`, `fmcq_id`) VALUES
(NULL, '1', '1', '0000-00-00', '1', '1', '1', 'sdfasd', 'No',
'sdafdsafdsaf', 'dsfas', 'sdfasd', 'dsafds', '0', 'asdfds', 'sdfasd',
'sdfads', 'sdaf', 'sdaf', 'sdaf', '0', '0', '0', '1sadfasdsda', 'sdfadsf',
'as', 'as', 'as', 'asas', 'asd', 'No', 'No', 'adsfsd', 'eqwrqew', 'qewrqew',
'No', 'No', 'No', '0000-00-00', '0000-00-00', 'ewqr', 'qewrw', 'No', 'eqwr',
'ewqr', 'qewr', '', '', '', '', '', '', '', '0', '0000-00-00', '', '',
'00:00:00.000000', '', '', '', '', '', '', '', NULL)

우리는 MySQL을 업그레이드 한 후이 문제에 직면 시작

해결법

  1. ==============================

    1.오류 때문에 최신 MYSQL 5.7 문서에 따라 엄격 모드 될 수있는 SQL 모드이다.

    오류 때문에 최신 MYSQL 5.7 문서에 따라 엄격 모드 될 수있는 SQL 모드이다.

    자세한 내용은이 글을 읽을.

    희망이 도움이.

  2. ==============================

    2.당신은 당신의 방법을 만드는 3 가지 옵션이 있습니다 : '1970-01-01'을 같은 날짜 값을 정의 (1) 드롭 다운에서 2. NULL 그것을 빈을 유지합니다. 3. CURRENT_TIMESTAMP 디폴트 값으로 현재 날짜를 설정합니다.

    당신은 당신의 방법을 만드는 3 가지 옵션이 있습니다 : '1970-01-01'을 같은 날짜 값을 정의 (1) 드롭 다운에서 2. NULL 그것을 빈을 유지합니다. 3. CURRENT_TIMESTAMP 디폴트 값으로 현재 날짜를 설정합니다.

  3. ==============================

    3.@ user2823136, 당신 잘못.

    @ user2823136, 당신 잘못.

    MYSQL 5.7 변화를 검토 한 결과, MySQL은 날짜 / 날짜에 제로 값을 지원 멈춘다.

    그냥 제로 대신 널 (null)을 넣어, 날짜 또는 날짜에 0을 사용하는 올바른 아니에요.

    감사

  4. from https://stackoverflow.com/questions/37292628/1292-incorrect-date-value-0000-00-00 by cc-by-sa and MIT license