2016-11-09 45 views
1
CREATE TABLE admin_user (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY 
); 

CREATE TABLE mappa (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
id_utente INT(11) NOT NULL, 
data_creazione timestamp NOT NULL default CURRENT_TIMESTAMP, 
foreign key(id_utente) references admin_user(id) on delete cascade on update no action 
); 

2番目の表は、私にこのエラーを与える:
はテーブルdbを作成できません。 mappa(errno:150 "外部キー制約が正しく形成されていません")のMySQL:テーブル生成時に外部キーエラー

キー構文のmysqlリファレンスで何が問題になっていますか?

答えて

0

あなたadmin_useridあなたが割り当てられUNSIGNEDid_utente外部キーがUNSIGNEDを割り当てるべきである&ご参照テーブル。

これを試してみてください:

CREATE TABLE mappa (
    id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
    id_utente INT(11) UNSIGNED NOT NULL, 
    data_creazione timestamp NOT NULL default CURRENT_TIMESTAMP, 
    FOREIGN KEY (id_utente) 
    REFERENCES admin_user(id) 
    ON UPDATE NO ACTION 
    ON DELETE CASCADE 
); 
0

admin_userテーブルにINT(11)UNSIGNEDタイプがあり、リファラーにINT(11)があります。これは機能しません。同様MySQL documentationは言う:

The size and sign of integer types must be the same.

id_utenteカラムがUNSIGNEDください。

関連する問題