MySQL 从 Null 变为 Non Null

标签 mysql null

我有一个字段已设置为允许 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/

相关文章:

java - 如何阻止编译器将未初始化的对象读取为错误

python - 如何为可能没有值的许多值中的任何一个打印 'null'

sql-server - SQL 检查变量中的空值

bash - 是 shell : command portable?

c++ - 如何判断未知类型数组的索引是否为空?

php - 除了官方常见问题解答中列出的问题外,Windows 服务器上生产的 XAMPP 是否还有其他安全/性能问题?

php - 如何将表单的复选框名称存储到 php 数组

c# - MySqlDataReader 没有读取我的查询,就好像没有返回行一样,但 PHPMyAdmin 返回具有相同查询的行

java - Jtable如何在不同的列中显示来自mysql的数据

mysql - gem install mysql 出错!