mysql - 如何为具有 FK 关系的表创建插入脚本

标签 mysql

create table foo(id, val1)
create table foo_bars(id, foo_id, val2)

在上述情况下id是自动生成的。

我想做以下事情

insert into foo (val1) values (1)
insert into foo_bars (foo_id, val2) values (?, 2)

如果我不知道 foo_id 的值,我该如何获取它。我还需要对这些 id 进行硬编码吗?有没有优雅的方法?

最佳答案

根据mysql站点( http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html )

试试这个(如果你想使用纯MySQL):

INSERT INTO foo (val1) 
    VALUES(1);         
INSERT INTO foo_bars (foo_id, val2)
    VALUES(LAST_INSERT_ID(),2);  # use ID in second table

关于mysql - 如何为具有 FK 关系的表创建插入脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13284779/

相关文章:

mysql - Left Join 未给出预期结果

php - 使用 codeigniter 成功提交后将表单数据发送到电子邮件

MySQL:对整个表应用 GROUP BY 查询

mysql - 需要 Joomla 1.5 数据库查询示例

mysql - 根据条件选择多于 1 列

php - 如何将不同数组变量的数据添加到php中的sql表中

MySQL 多表连接

mysql - node-mysql res.json(rows) 返回带反斜杠的引号

mysql - 基于优先级的SQL查询案例

mysql - Ruby on Rails 5 - seeds.rb