【问题标题】:Mysql Change Int default value zero to nullMysql将Int默认值零更改为null
【发布时间】:2015-08-22 07:45:54
【问题描述】:

您好,我正在使用 mysql 使用 laravel 5。我确实将邮政编码存储到我的数据库中,它运行良好,但是当字段为空时,它存储零(0),但我想在数据库中存储空值。

我还使用下面的 alter table 更改了 mysql 更改表 insurances 更改列 zipcode4 zipcode4 int(4) 无符号默认 NULL; 但它不会工作,有什么想法吗?

提前致谢

【问题讨论】:

    标签: mysql alter-table


    【解决方案1】:

    好吧,邮政编码是具有固定字符的东西,因此不需要任何算术运算,

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

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

    试试这个,

    3.

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

    【讨论】:

    • 我尝试了这个改变查询并在插入时插入空值,但它也只存储零..
    • 请运行这些查询并在问题区域显示正确的输出;选择@@版本; SHOW CREATE TABLE 保险;
    【解决方案2】:

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

    UPDATE mytable set zipcode4=NULL WHERE zipcode4=0
    

    如果未提供值,新值将正确设置为 NULL

    【讨论】:

      【解决方案3】:

      此代码 100 % 准确

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

      【讨论】:

      • 为什么有人会复制 18 个月前的另一个答案?有什么意义?
      猜你喜欢
      • 1970-01-01
      • 2018-11-17
      • 2014-05-16
      • 2011-03-12
      • 2018-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-05
      相关资源
      最近更新 更多