J'ai fait référence à de nombreuses questions portant le même titre que le mien, mais leur approche et leur problème étant différents, cette question n'est donc pas un doublon.
J'ai une table dans laquelle column
fm_sctrdate
est un type date
et a la valeur par défaut 0000-00-00
.
L'insertion par site Web fonctionne bien, mais lorsque j'essaie d'insérer une valeur quelconque par phpmyadmin
, j'ai l'erreur suivante.
Mysql
version est 5.7.11
. Une dernière chose que notre serveur a récemment mise à jour de mysqlnd 5.0.12
à 5.7.11
.
Voici la requête
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)
Nous avons commencé à faire face à ce problème juste après la mise à niveau de mysql
L'erreur est due au mode SQL qui peut être strict selon la dernière documentation MYSQL 5.7.
Pour plus d'informations, lisez this.
J'espère que ça aide.
Vous avez 3 options pour faire votre chemin:
1. Définir une valeur de date comme '1970-01-01'
2. Sélectionnez NULL dans le menu déroulant pour le laisser vide.
3. Sélectionnez CURRENT_TIMESTAMP pour définir la date/heure actuelle comme valeur par défaut.
@ user2823136, vous avez tort.
Après avoir examiné les modifications apportées à MYSQL 5.7, MYSQL cesse de prendre en charge les valeurs de zéros dans date/date/heure.
Ce n'est pas correct d'utiliser des zéros dans date ou datetime, il suffit de mettre null à la place des zéros.
Merci