【问题标题】:MySQL Insert ENUM field is left blankMySQL 插入 ENUM 字段留空
【发布时间】:2021-03-28 22:12:15
【问题描述】:

所以我正在尝试使用下面的查询插入数据。列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 列留空。

有人知道为什么会这样吗?

【问题讨论】:

    标签: mysql enums phpmyadmin


    【解决方案1】:

    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                    |
    +----------------------+
    

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 1970-01-01
      • 2017-04-13
      • 2013-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多