【发布时间】:2013-11-14 07:23:09
【问题描述】:
mysql数据库academy和instructors中有两张表。我想按以下顺序(伪代码)向每个表中插入值:
- 第一次插入
academy值acad_name, address, street, city, state - 第二次插入
instructors值instructor_name - 第三
插入
academy值instructor_id来自instructors\此记录应与相应的academy_id
第三次插入基于第二次插入instructor_id 的结果,即 auto_increment。但是我希望第三个插入对应于当前学院的值,之前插入的值我该怎么做?
CREATE TABLE IF NOT EXISTS `academy` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(25) NOT NULL,
`academy_id` int(11) NOT NULL,
`instructor_id` int(11) DEFAULT NULL,
`street_address` varchar(50) NOT NULL,
`city` varchar(25) NOT NULL,
`state` varchar(25) NOT NULL,
PRIMARY KEY (`id`),
KEY `instructor_id` (`instructor_id`) // Foreign KEY
);
CREATE TABLE IF NOT EXISTS `instructors` (
`instructor_id` int(11) NOT NULL AUTO_INCREMENT,
`academy_id` int(11) NOT NULL
PRIMARY KEY (`instructor_id`),
KEY `academy_id` (`academy_id`) // Foreign KEY
);
【问题讨论】:
-
第三个实际上是更新插入第一个的条目??
-
您的桌子设计有圆形 FK! academy_id 讲师中的外键,instructor_id 是学院表中的外键。
-
@Damodaran 原因是之前提出的另一个问题,Stackoverflow
标签: mysql