2009-11-24 3 views
1

J'essaye d'insérer une rangée dans une table nommée Booklets qui a une colonne nullable BookletSubjectID. L'insert échoue parceMySqlcan't définir une colonne nullable à null

'BookletSubjectID' ne peut pas être nul

Voilà ma session MySQL recopié. Je dois manquer quelque chose de vraiment évident, mais je ne peux pas le voir.

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 

Merci, Don

Répondre

2

Il semble que:

Si une table a une colonne qui fait partie d'une clé primaire à plusieurs colonnes alors que la colonne ne peut pas être annulable.

Voir this bug report et sa réponse.

Questions connexes