我们可以用单个sql语句插入两个表吗?

时间:2010-02-03 23:22:03

标签: sql mysql

是否可以使用相同的insert命令插入两个表?

4 个答案:

答案 0 :(得分:9)

否则您无法在一个查询中对两个表执行多次插入。

答案 1 :(得分:4)

不,你不能。

如果要确保需要将数据插入2个表的操作的原子性,则应在事务中保护它。您可以使用SQL语句BEGIN TRANCOMMIT TRAN,也可以使用您用于开发数据库访问层的任何语言的事务边界。例如。类似Connection.StartTransactionConnection.Commit(或错误的Connection.Rollback)。

答案 2 :(得分:2)

也许在未来的MySQL版本中,您可以创建一个包含2个表的视图并插入其中 但是使用MySQL 5.1.41,你会收到错误:
“无法通过连接视图修改多个基表”

但是,使用1个查询插入2个表格是一件很奇怪的事情,我不建议


有关可更新视图的更多信息,请查看MySQL reference

答案 3 :(得分:2)

您可以通过插入两个表来调用存储过程。