在mysql中为一行创建一个空的字段

时间:2015-12-03 18:17:04

标签: mysql sql database relational-database

假设我的用户表中有以下内容:

id     name     email
'1', 'foo', 'foo@bar.com'
'2', 'foo2', 'foo2@bar.com'
'3', 'foo3', 'foo3@bar.com'
'4', 'foo4', 'foo4@bar.com'

问题1)

如果我想删除其中一个字段的列数据。如果我将其设置为NULL是否安全(请参阅我的示例中的以下更新查询);换句话说,mysql(int,varchar,bit,...)中的所有数据类型分配NULL以使其为空是安全的吗?

UPDATE users
SET email = NULL
WHERE id = 3;

以上更新查询清空了ID为3的用户的电子邮件字段,但请确认这是所有数据类型的有效solutoin ...

问题2)

对于ID为3的用户,将电子邮件字段设为空后,以下查询将不返回任何内容:

select * from users where email is  NULL

我在这做什么事吗?

如果问题含糊不清,请告诉我是否需要更多说明...... 感谢

2 个答案:

答案 0 :(得分:0)

如果表定义中的列允许NULL,则可以将NULL设置为任何数据类型。你的代码应该有效。在命令行中运行“select * from users”或使用数据库管理器时会发生什么?

答案 1 :(得分:0)

更新用户 SET email ='' WHERE id = 3;