Bor*_*mbo 9 mysql sql datetime sql-update
我需要在我的数据库上更改一些值.
我忘了设置为nullable到表,它默认设置为0000-00-00 00:00:00.
现在我需要转换该值NULL.
字段类型是Datetime.
我该怎么做?
我尝试了典型Update table set field = NULL WHERE field = '0000-00-00 00:00:00';但它不起作用.
您需要首先使列可为空:
ALTER TABLE mytable MODIFY COLUMN field DATETIME NULL;
Run Code Online (Sandbox Code Playgroud)
然后更新值:
UPDATE mytable SET field = NULL WHERE field = '0000-00-00 00:00:00';
Run Code Online (Sandbox Code Playgroud)
从MySQL 5.7开始,SQL模式NO_ZERO_DATE使得此更新无法进行,除非您首先禁用此限制(仅在事务期间)。
SET sql_mode=(SELECT REPLACE(@@sql_mode,"NO_ZERO_DATE", ""));
UPDATE mytable SET field = NULL WHERE field = '0000-00-00 00:00:00';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15082 次 |
| 最近记录: |