插入查询说'错误的数据类型'

时间:2018-01-23 15:02:39

标签: php mysql

我有一个mysql数据库的php查询,它收集有关学生的基本信息。有三个日期字段 - dob,doe和dol-我希望用户能够留空或填写yyyy-mm-dd。

INSERT INTO pupil_data (first_name,second_name,gender,registration,dob, doe, dol, ethnicity, eal, pup_prem, pup_prem_plus) 
VALUES ('aa','aa','male','kingfisher','','','','White British','yes','yes','yes' )`

phpmyadmin sql编辑器返回#1292 - Incorrect date value: '' for column 'dob' at row 1

我已经像这样设置了表格:

dob: type=date, null=no, default=1900-12-01

如果我把像'2006-04-14'这样的日期放入''那么它就可以了。如何让它让用户留空?

由于

2 个答案:

答案 0 :(得分:0)

空白和NOT NULL date字段应为'0000-00-00':

INSERT INTO pupil_data (first_name,second_name,gender,registration,dob, doe, dol, ethnicity, eal, pup_prem, pup_prem_plus) 
VALUES ('aa','aa','male','kingfisher','0000-00-00','','','White British','yes','yes','yes');

答案 1 :(得分:0)

如果要将空字符串作为datedatetime值,则需要设置ALLOW_INVALID_DATES SQL模式。然后,它会将任何无效日期转换为0000-00-00