MySQL同时向两个表插入数据

MySQL同时向两个表插入数据

看下图
这个是主表

这个是副表
在这里插入图片描述
想要实现主表插入一条数据的同时,副表的t1_id字段就添加一条数据,并且t1_id等于刚刚主表插入数据时的主键id即(t1_id=id)

先执行主表插入语句:INSERT INTO test(NAME,age) VALUES('好几个',33);
紧接着执行sql语句:INSERT INTO test2(t1_id) VALUES(LAST_INSERT_ID());
看下结果:
在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
你可以使用 MySQL 的事务(Transaction)来实现同时向两个插入数据。事务可以保证所有的 SQL 语句都成功执行,或者回滚到事务开始之前的状态。 下面是一个使用事务同时向两个插入数据的 PHP 代码示例: ```php <?php // 创建连接 $conn = new mysqli("localhost", "username", "password", "myDB"); // 检查连接是否成功 if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // 开始事务 $conn->begin_transaction(); try { // 插入数据1 $sql1 = "INSERT INTO table1 (column1, column2) VALUES ('value1', 'value2')"; $conn->query($sql1); // 插入数据2 $sql2 = "INSERT INTO table2 (column1, column2) VALUES ('value3', 'value4')"; $conn->query($sql2); // 提交事务 $conn->commit(); echo "Data inserted successfully to both tables."; } catch (Exception $e) { // 回滚事务 $conn->rollback(); echo "Error: " . $e->getMessage(); } // 关闭连接 $conn->close(); ?> ``` 在上面的代码中,我们首先创建了一个 MySQL 的连接,然后开启了一个事务。接着,我们在 try-catch 块中分别执行了两个插入数据的 SQL 语句。如果两个 SQL 语句都执行成功,我们就提交事务,并输出成功的消息。如果其中一个 SQL 语句执行失败,我们就回滚事务,并输出错误消息。最后,我们关闭了连接。 请注意,如果你使用的是 InnoDB 存储引擎,那么 MySQL 默认会自动开启事务。因此,在上面的代码中,我们只需要显式地开启事务、提交事务或回滚事务即可。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值