Mysql Change Int默认值为零

时间:2015-08-22 07:45:54

标签: mysql alter-table

嗨,我正在用mysql工作laravel 5。我确实将zipcode存储到我的数据库中它运行良好但是当字段为空时它存储为零(0)但我想在数据库中存储空值。

我也使用alter table改变了mysql,如下所示 ALTER TABLE // Stock status woocommerce_wp_select( array( 'id' => '_stock_status', 'label' => __( 'Stock status', 'woocommerce' ), 'options' => array( 'instock' => __( 'In stock', 'woocommerce' ), 'outofstock' => __( 'Out of stock', 'woocommerce' ) ), 'desc_tip' => true, 'description' => __( 'Controls whether or not the product is listed as "in stock" or "out of stock" on the frontend.', 'woocommerce' ) ) ); CHANGE COLUMN insurances zipcode4 int(4)unsigned DEFAULT NULL; 但它不会工作,有任何想法吗?

提前致谢

4 个答案:

答案 0 :(得分:3)

嗯,zipcode是固定字符的东西,不需要任何算术运算,

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

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

  3. 试试这个,

    3

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

答案 1 :(得分:1)

某些以前版本的MySQL不允许对INT字段使用DEFAULT NULL,而是在thisthis链接上引用有关如何将字段值设置为null的答案。

答案 2 :(得分:0)

普遍默认值为0,因此在更改默认值后仍保留默认值,在更改默认值后更新默认值,执行以下操作:

UPDATE mytable set zipcode4=NULL WHERE zipcode4=0

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

答案 3 :(得分:-1)

此代码的准确性为100%

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