1

我有以下内容:

CREATE TABLE afil2 (
    id bigint(20) NOT NULL AUTO_INCREMENT,
    `apellido` varchar(30),
    `nombre` varchar(30),
    documento varchar(30),
    PRIMARY KEY (`id`)
);

ALTER TABLE ordenes ADD COLUMN afil2 bigint(20);
ALTER TABLE ordenes ADD FOREIGN KEY(afil2) REFERENCES database_name.afil2(id);

在最后一行我得到了错误Error Code: 1005. Can't create table 'database_name.#sql-776_f23d' (errno: 150)

我究竟做错了什么?

4

2 回答 2

0
ALTER TABLE ordenes ADD FOREIGN KEY(afil2) REFERENCES database_name.afil2(id);

我认为您应该在这一行中将您的实际数据库名称替换为database_name.

于 2013-07-16T12:08:15.140 回答
0

确保您的两个表属于同一类型(例如 InnoDB)。否则约束将失败。

于 2013-07-16T13:03:29.430 回答