MySQL Alter table导致错误:无效使用空值
我现有的表格:MySQL Alter table导致错误:无效使用空值,mysql,Mysql,我现有的表格: +-----------------+---------------+------+-----+---------+-------------------+ | Field | Type | Null | Key | Default | Extra | +-----------------+---------------+------+-----+---------+-------------------+ | cre
+-----------------+---------------+------+-----+---------+-------------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------+------+-----+---------+-------------------+
| creation_date | timestamp | YES | | NULL |
我想把桌子改成这样:
ALTER TABLE enterprise MODIFY creation_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
但我有一个错误:
第7行错误1138(22004):无效使用空值
问题看起来像是将可为NULL的值从YES改为notnull。我是否需要删除列,然后添加
只有在创建\u日期
专栏
使用一些默认日期更新您的创建日期
列,然后更改表格
像这样
UPDATE enterprise SET creation_date = CURRENT_TIMESTAMP WHERE creation_date IS NULL;
ALTER TABLE enterprise MODIFY creation_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
看起来有几行的值为空。请将该列中的所有空值更新为默认日期,然后尝试进行更改
试试这个
--update null value rows
UPDATE enterprise
SET creation_date = CURRENT_TIMESTAMP
WHERE creation_date IS NULL;
ALTER TABLE enterprise
MODIFY creation_date TIMESTAMP NOT NULL
DEFAULT CURRENT_TIMESTAMP;
迟来的评论,但我猜要么你不能使用,只要你有空值,要么直到你没有任何空值。否则就不会有问题了。