将Mysql整数类型默认值从零改为null

4

您好,我正在使用 Laravel 5 和 MySQL 进行开发。我已经成功将邮政编码存储到数据库中,但是当该字段为空时,它会存储为零(0),而我希望在数据库中存储空值。

我尝试使用以下命令更改 MySQL:

ALTER TABLE insurances CHANGE COLUMN zipcode4 zipcode4 int(4) unsigned DEFAULT NULL;

但是它没有起作用,您有什么想法吗?

谢谢!

3个回答

3

邮政编码是由固定字符组成的,不需要进行任何算术运算,因此可以采用以下方法:

  1. 将数据类型更改为CHAR或VARCHAR

  2. 在插入查询时强制插入NULL值!

试试这个方法:

3.

 ALTER TABLE insurances CHANGE zipcode4 zipcode4 int(4) DEFAULT NULL;

我尝试了这个修改查询并在插入时插入了空值,但它仍然只存储零。 - user2172424
请在问题区运行以下查询并显示正确的输出;SELECT @@version; SHOW CREATE TABLE insurances; - Hytool

0

之前的默认值为0,所以在更改默认值后仍然保留它。要在更改默认值后更新它,请执行以下操作:

UPDATE mytable set zipcode4=NULL WHERE zipcode4=0

如果没有提供值,新值将正确地放置为NULL


-2

代码百分之百准确

UPDATE mytable SET zipcode4 = NULL WHERE zipcode4 = 0
UPDATE mytable SET Myfield = NULL WHERE Myfield = 0

为什么有人会只是复制一个18个月前的答案呢?这有什么意义吗? - miken32

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接