MySQL FK语法:将名为practice的列插入表cred_insurances,这是表格实践的FK

时间:2010-10-22 17:05:58

标签: mysql syntax insert

我需要在表“cred_insurances”中插入一个名为“practice”的列,这是一个FK引用表“实践”PK“id”

1 个答案:

答案 0 :(得分:2)

您需要通过在mysql提示符下运行以下内容来确保您的MySQL表正在使用InnoDB引擎。

show create table cred_insurances

输出将包括(向下)文本ENGINE=...。如果它不是InnodDB,那么您首先需要使用以下SQL转换它。您可能还需要对父表执行此操作。

ALTER TABLE cred_insurances ENGINE=InnoDB

然后,您可以使用以下命令添加列和外键约束:

ALTER TABLE cred_insurances
    ADD practice INT,
    ADD CONSTRAINT fk_practice
    FOREIGN KEY (practice) REFERENCES practices (ID)

如果在添加外键时遇到错误,请尝试以下命令以获取有关错误的更多详细信息。

SHOW ENGINE INNODB STATUS