我有一个字段已设置为允许 Null,但我现在想将其更改为不允许 Null。
每当我尝试更改它时,我都做不到,因为 PhpMyAdmin 已将所有以前的记录设置为 Null。
我该如何解决这个问题?
是否有一个查询可以删除所有 Null 值并将字段设置为 Non Null?
最佳答案
当然。但是,“删除所有 NULL
值”是什么意思?这是否意味着要删除该字段中所有具有 NULL
的行?如果是这样,您可以这样做:
DELETE FROM your_table WHERE your_field IS NULL;
如果您想保留这些行,则必须在该字段中输入其他值。有没有道理的?如果是这样,您可以这样做:
UPDATE your_table SET your_field = 42 WHERE your_field IS NULL;
(当然,42
是您想要使用的任何值。)
如果你想保留这些行,并且没有任何其他值可以使用,那么现在应该保留的 NULL
应该保留,可能是时候重新评估你为什么想要将字段设置为 NOT NULL
。
关于MySQL 从 Null 变为 Non Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1353970/