我看到了两种完成方式:
方法一:
CREATE TABLE IF NOT EXISTS `sample` (
`sample_id` tinyint(2) NOT NULL AUTO_INCREMENT,
`description` varchar(32) NOT NULL,
`parent_id` int(10) NOT NULL,
`created` datetime NOT NULL,
PRIMARY KEY (`sample_id`)
) ENGINE=InnoDB;
ALTER TABLE sample ADD CONSTRAINT parent_id FOREIGN KEY (parent_id) REFERENCES parent_tbl(parent_id);
方法二:
CREATE TABLE IF NOT EXISTS `sample` (
`sample_id` tinyint(2) NOT NULL AUTO_INCREMENT,
`description` varchar(32) NOT NULL,
`parent_id` int(10) NOT NULL,
`created` datetime NOT NULL,
PRIMARY KEY (`sample_id`),
Foreign Key (parent_id) references parent_tbl(parent_id)
) ENGINE=InnoDB;
哪种方式更好或何时使用一种方式优于另一种方式?
最佳答案
如果您需要向现有表添加外键,请使用方法 1,如果您要从头开始创建架构,请使用方法 2。
没有最好的方法,他们做同样的事情。
关于mysql - MySQL中定义外键的方式有哪些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4505786/