簡體   English   中英

MySQL 插入 ENUM 字段留空

[英]MySQL Insert ENUM field is left blank

所以我試圖用下面的查詢插入數據。 列releases_isMultipack、releases_isChase、releases_hasChase 和releases_isAssortment 都是enum('0', '1') 類型。 0 和 1 代表真假。

INSERT INTO releases (releases_uid, releases_title, releases_releaseDate, releases_boxNumber, releases_hobbyDbId, releases_isMultipack, releases_itemNumber, releases_isChase, releases_hasChase, releases_referenceUrl, releases_componentNumber, releases_isAssortment, releases_craftProductId, releases_craftComponentId) 
    VALUES ('fa4d5128-407a-4c2b-8970-99a36a72b030', 'Woodsy Owl', '2021-03-26T16:05:00-07:00', '', NULL, 0, '52390', 0, 1, 'woodsy-owl-1', '52390a', 0, 9518039, 9518035)

查詢工作正常,但是即使在插入語句中提供了值,也只會將 ENUM 列留空。

有誰知道為什么會這樣?

0'0'之間有區別。

這是一個演示。 如果我插入0 ,我會得到一個空白,因為這不是枚舉中的值。

mysql> create table releases (releases_isMultipack enum('0','1'));
Query OK, 0 rows affected (0.06 sec)

mysql> insert into releases values (0);
Query OK, 1 row affected, 1 warning (0.03 sec)

mysql> show warnings;
+---------+------+-----------------------------------------------------------+
| Level   | Code | Message                                                   |
+---------+------+-----------------------------------------------------------+
| Warning | 1265 | Data truncated for column 'releases_isMultipack' at row 1 |
+---------+------+-----------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select * from releases;
+----------------------+
| releases_isMultipack |
+----------------------+
|                      |
+----------------------+
1 row in set (0.00 sec)

但如果我使用'0'它會起作用:

mysql> insert into releases values ('0');
Query OK, 1 row affected (0.03 sec)

mysql> select * from releases;
+----------------------+
| releases_isMultipack |
+----------------------+
|                      |
| 0                    |
+----------------------+

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM