【发布时间】:2012-06-19 09:24:13
【问题描述】:
我有一个问题,我想在表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));
第二张桌子
CREATE TABLE vrijwilliger(
vrijwilligerID int(8),
email varchar(80),
Primary key(vrijwilligerID));
【问题讨论】:
-
vrijwilliger(email)是PRIMARY KEY- 还是上面有UNIQUE索引? -
你能显示两个表的架构吗?
-
只需检查两个表中电子邮件的数据类型和大小是否相同。
-
运行
show create table berich和其他表相同。用结果更新您的问题。 -
只是为了确定.. 您是否使用上面的 SQL 创建了 bericht 表?如果你这样做了,它已经有一个名为 email 的外键。如果没有,那么问题可能是缺少索引(bericht.email 和 vrijwilliger.email 都需要 ond ..
标签: mysql sql create-table