Mysql 在添加所有表之后,如何生成添加约束的SQL
是否可以从schema.xml生成schema.sql,以便在所有创建表之后添加外键约束?我想按字母顺序对schema.xml中的表进行排序,但有些表具有稍后创建的表的外键 因此,不是这个输出:Mysql 在添加所有表之后,如何生成添加约束的SQL,mysql,constraints,propel,Mysql,Constraints,Propel,是否可以从schema.xml生成schema.sql,以便在所有创建表之后添加外键约束?我想按字母顺序对schema.xml中的表进行排序,但有些表具有稍后创建的表的外键 因此,不是这个输出: CREATE TABLE t ( id INT NOT NULL AUTO_INCREMENT, u_id INT NOT NULL, PRIMARY KEY(id), INDEX (u_id), FOREIGN KEY (u_id) REFERENC
CREATE TABLE t (
id INT NOT NULL AUTO_INCREMENT,
u_id INT NOT NULL,
PRIMARY KEY(id),
INDEX (u_id),
FOREIGN KEY (u_id)
REFERENCES u(id)
) ENGINE=INNODB;
CREATE TABLE u (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
PRIMARY KEY(id)
) ENGINE=INNODB;
我想得到这个:
CREATE TABLE t (
id INT NOT NULL AUTO_INCREMENT,
u_id INT NOT NULL,
PRIMARY KEY(id),
INDEX (u_id)
) ENGINE=INNODB;
CREATE TABLE u (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
PRIMARY KEY(id)
) ENGINE=INNODB;
ALTER TABLE t
ADD FOREIGN KEY
u_id (u_id)
REFERENCES u (id);
对于MySQL,在生成的SQL顶部插入以下语句以创建表:
SET FOREIGN_KEY_CHECKS = 0;
这意味着表的定义顺序不应该是个问题。你的错误是什么