2009-11-24 36 views
1

我試圖插入一個表名爲Booklets的表中有一個可爲空的列BookletSubjectID。插入失敗,因爲MySqlcan't設置一個可爲空的列

「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 

謝謝, 唐

回答

2

似乎:

如果表中有一列,其是多列主鍵的一部分,則該列 不能爲空。

請參閱this bug report及其響應。