代码之家  ›  专栏  ›  技术社区  ›  Dónal

mysql无法将可为null的列设置为null

  •  1
  • Dónal  · 技术社区  · 15 年前

    我试图在名为的表中插入一行 Booklets 它有一个可为null的列 BookletSubjectID . 插入失败,因为

    这是我的MySQL会话逐字复制的。我一定漏掉了一些很明显的东西,但看不见。

    mysql> desc Booklets;
    +----------------------+---------------+------+-----+---------+----------------+
    | Field                | Type          | Null | Key | Default | Extra          |
    +----------------------+---------------+------+-----+---------+----------------+
    | BookletID            | int(11)       | NO   | PRI | NULL    | auto_increment |
    | MemberID             | int(11)       | NO   | MUL | NULL    |                |
    | Name                 | varchar(255)  | YES  |     | NULL    |                |
    | Description          | varchar(1000) | YES  |     | NULL    |                |
    | RelationshipTypeID   | varchar(12)   | YES  | MUL | NULL    |                |
    | RateTypeID           | varchar(2)    | YES  | MUL | NULL    |                |
    | PrivTypeID           | varchar(2)    | NO   | MUL | NULL    |                |
    | PhotoAlbumID         | int(11)       | YES  | MUL | NULL    |                |
    | VideoAlbumID         | int(11)       | YES  | MUL | NULL    |                |
    | BookletSubjectTypeID | varchar(2)    | NO   | MUL | NULL    |                |
    | BookletSubjectID     | int(11)       | YES  | MUL | NULL    |                |
    | Deleted              | tinyint(1)    | NO   |     | 0       |                |
    | Credt                | datetime      | NO   |     | NULL    |                |
    | Updt                 | datetime      | YES  |     | NULL    |                |
    +----------------------+---------------+------+-----+---------+----------------+
    14 rows in set (0.00 sec)
    
    mysql> INSERT Booklets (MemberID, Name, PrivTypeID, BookletSubjectTypeID, Deleted, Credt) 
    VALUES (546502, 'dddd','pu', 'no', 1, NOW());
    ERROR 1048 (23000): Column 'BookletSubjectID' cannot be null
    

    谢谢, 唐

    1 回复  |  直到 15 年前
        1
  •  2
  •   Adam Bellaire    15 年前

    看来:

    如果表中有一列是多列主键的一部分,则该列

    this bug report 以及它的反应。