我想在MySQL數字字段上有一個空字段。如果我將該字段定義爲允許NULL值,則默認爲0.00。有時候,對於這一行項目,我更喜歡沒有價值我大概可以創建一個不同的表來跟蹤這些項目,但是在這一點上我更喜歡一個表格解決方案。是否有可能有一個空的MySQL數值字段?
1
A
回答
1
因爲你是用DEFAULT
做到這一點的。不要做:
create table t1
( id int auto_increment primary key,
thing varchar(100) not null,
anInt NUMERIC(5,2) NULL DEFAULT 0
);
insert t1(thing) values ('fish');
select * from t1;
+----+-------+-------+
| id | thing | anInt |
+----+-------+-------+
| 1 | fish | 0.00 |
+----+-------+-------+
1
對我的作品在MySQL 5.7.12:
mysql> create table X (a double null);
Query OK, 0 rows affected (0.01 sec)
mysql> desc X;
+-------+--------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------+------+-----+---------+-------+
| a | double | YES | | NULL | |
+-------+--------+------+-----+---------+-------+
1 row in set (0.00 sec)
mysql> alter table X add column b int;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> desc X;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| a | double | YES | | NULL | |
| b | int(11) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
mysql> insert into X (a) values (1.3);
Query OK, 1 row affected (0.00 sec)
mysql> insert into X (b) values (1);
Query OK, 1 row affected (0.00 sec)
mysql> select * from X;
+------+------+
| a | b |
+------+------+
| 1.3 | NULL |
| NULL | 1 |
+------+------+
2 rows in set (0.00 sec)
+0
請注意,MySQL 14.14中沒有這樣的東西。這聽起來像是一個客戶端版本,但客戶端通常是向後兼容的,有時是向前兼容的。服務器版本通過查詢「SELECT @@ VERSION;'找到。 –
+0
固定,謝謝.. – creativeChips
相關問題
- 1. 是否有可能找到只有3個數字的下一個數字?
- 2. 是否有可能在MySQL中執行一個字符串?
- 3. SharePoint:是否有可能從另一個列表中的列返回字段值?
- 4. 是否有可能有一個函數在另一個函數
- 5. 是否有可能將一個數組的字段存儲爲新數組?
- 6. 是否可以創建2個可能不具有相同值的字段?
- 7. 是否有可能獲得MySQL中的表的整數值?
- 8. 是否有可能通過子字段對象值查詢MongoDB?
- 9. 是否有可能在java-lucene中映射多字段值?
- 10. 是否有可能使用多值字段中geodist
- 11. 是否有可能在Django中有一個類作爲模型字段?
- 12. 是有可能有一個匿名類型字段條件
- 13. 是否有可能有一個MySQL存儲過程的默認參數?
- 14. 是否有可能有一個MySQL表引用外部數據庫中的表?
- 15. 是否有可能像JSON字段中包裝JSON字段?
- 16. 是否有可能在類中持有OrmLite的枚舉字段?
- 17. 在drupal中,是否有可變數量值的字段類型?
- 18. 它是否有可能改變一個dll的命名空間?
- 19. 是否有可能從這段代碼中檢索2個值?
- 20. 是否有可能有一個與&符號的REST url參數?
- 21. 是否有可能擁有一個Func的參數陣列
- 22. 是否有可能限制一個表只有一個記錄在mysql中?
- 23. 是否有可能使一個xml字段在IOS中不可編輯
- 24. 是否有可能有一個非空的外鍵指向MySQL數據庫中的無行?
- 25. 檢查是否有空文本字段
- 26. 是否有可能將記錄數組作爲記錄字段?
- 27. 是否可以保存一個沒有字段的Drupal視圖?
- 28. 是否有可能在SQL中有條件地返回字段?
- 29. 是否有可能擁有條件@Transient字段?
- 30. 是否有可能一個POST
正確的方法是使用'NULL'。這與0.00完全不同,所以我不知道爲什麼'NULL'會默認爲合法值。 –
Mysql不太可能將'null'值轉換爲數字,除非被指示這麼做。但是,您可能會將空字符串作爲值傳遞給它,而不是null,並將其轉換爲0. – Shadow