mysql - 在子表中插入新行后查询父表中的自动递增id

标签 mysql laravel

有什么方法可以自动递增表中的 id,我正在将值插入与第一个表关联的另一个表中, 其中第一个表仅包含 id 值,第二个表包含 id、产品名称、语言、...第一个表的product_id ( FK )。

如何在 Laravel 的查询中做到这一点?

最佳答案

您应该始终先插入第一个表,然后使用 last_inserted_id 将记录插入第二个表,例如:

INSERT INTO first_table (value) VALUES ('value'); 
INSERT INTO second_table (id,other_value) VALUES (LAST_INSERT_ID(), 'test');

假设您已经定义了一个自动增量序列,它总是会为您提供最新的ID,可用于将记录插入到第二个表中。

更新

对于多个惰性,您可以将 id 设置为变量并将其用于多次插入,例如:

SET @last_id = LAST_INSERT_ID();
INSERT INTO second_table (id,other_value) VALUES (@last_id, 'test');
INSERT INTO second_table (id,other_value) VALUES (@last_id, 'test');

关于mysql - 在子表中插入新行后查询父表中的自动递增id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42964049/

相关文章:

mysql - 如何在不同的服务器上设置两个 MySQL 数据库以与字符串替换同步?

phpmyadmin : Depends: php-twig (>= 2. 9) 但要安装 2.6.2-2。什么?

MySQL 内连接与 "WHERE id IN ()"

php - PDO异常 : SQLSTATE[HY000] [2006] MySQL server has gone away

php - Laravel:hasMany 关系为空/空

mysql - 防止ZF中的Sql注入(inject)

mysql - 哪个更好,(1 个数据库 + 4 个表)或(2 个数据库 + 每个 2 个表)?

Laravel Blade : What is best practice for adding javascript in blade files?

macos - 从 iPad 和 iPhone 连接到在 Mac 上运行的 Laravel Homestead、Vagrant

php - 拉维尔 5.7 : target is not instantiable while building