1

問題があります。テーブルに外部キー(電子メール)を追加したいと思いますbericht

内の電子メールへの電子メール参照vrijwilliger、電子メールはvarchar(80)です。

ALTER TABLE bericht
ADD(
FOREIGN KEY (email) REFERENCES vrijwilliger(email));

エラーメッセージ:

#1005-テーブルを作成できません'。\c5g4westpopintranet#sql-1494_145.frm'(errno:150)

わかりません。助けていただければ幸いです。

最初のテーブル

CREATE TABLE bericht(
berichtID int(8),
onderwerp varchar(255),
datum date,
tijd time,
inhoudbericht,
email varchar(80),
PRIMARY KEY(berichtID),
FOREIGN KEY(email) REFERENCES vrijwilliger(email));

2番目のテーブル

 CREATE TABLE vrijwilliger(
 vrijwilligerID int(8),
 email varchar(80),
 Primary key(vrijwilligerID));
4

2 に答える 2

0

次のクエリを試してテーブルを変更してください

ALTER TABLE bericht ADD CONSTRAINT email FOREIGN KEY(email) REFERENCES vrijwilliger(email) ON DELETE SET NULL ON UPDATE SET NULL;

Alter table の構文

ALTER TABLE tbl_name
    ADD [CONSTRAINT [symbol]] FOREIGN KEY
    [index_name] (index_col_name, ...)
    REFERENCES tbl_name (index_col_name,...)
    [ON DELETE reference_option]
    [ON UPDATE reference_option]

参照

http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html
于 2012-06-19T09:31:23.783 に答える
-1

以下のクエリを試してみてください。

CREATE TABLE `vrijwilliger` (  
vrijwilligerID INT(8),  
email VARCHAR(80),  
PRIMARY KEY(vrijwilligerID),
UNIQUE KEY (email)
);

CREATE TABLE bericht( 
berichtID INT(8), 
onderwerp VARCHAR(255), 
datum DATE, 
tijd TIME, 
inhoudbericht INT(8), 
email VARCHAR(80), 
PRIMARY KEY(berichtID), 
FOREIGN KEY(email) 
REFERENCES vrijwilliger(email));
于 2012-06-19T11:00:37.127 に答える