我需要在表“cred_insurances”中插入一个名为“practice”的列,这是一个FK引用表“实践”PK“id”
答案 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