Answers
1.在插入的时候判断:
这样会在插入 0 时 变为 null,或者插入 0 的时候 改为 now()
2.在查询数据判断:
这样就会将值为 0000-00-00 00:00:00 转换为 null
3 设置sql_model
mysql_query("set sql_mode='no_zero_date'");
mysql_query("insert into date (name,date) values('xxx'0)");
如果在temestamp 列插入 0 会产生警告,但是数据还是会插入成功,如果插入 0 失败的话sql_model 为:set sql_mode='strict_all_tables,no_zero_date';
这样插入就会报如下错误:
ERROR 1292 (22007): Incorrect datetime value: '0' for column 'date' at row 1
Beats
answered 12 years, 1 month ago