使用一个查询将值插入到两个以上的表中

时间:2010-01-27 08:41:19

标签: mysql

是否可以使用mysql查询将值插入到不同的表中?

4 个答案:

答案 0 :(得分:1)

是的,但您需要创建自定义函数,将值作为副作用插入到其他表中。

基本思想是您希望将函数的结果插入到插入其他数据的表中

insert into table (resulting_value) values (my_function(parameters))

您可以从MySQL文档中了解有关stored functions的更多信息

答案 1 :(得分:0)

没有一个查询可以做到这一点,但假设您正在使用PHP,您可以使用mysql_insert_id()获取最后插入行的主键,然后您就可以用该字段构造第二个查询。

答案 2 :(得分:0)

你可以使用触发器(即你发出一个SQL插入语句并在数据库中执行后续插入),只要

  1. 您的后续插入值可以从前面插入的值
  2. 派生
  3. 你不介意生活在这种方法可能导致的问题(当触发器失败时出现错误消息,无声插入失败,性能问题等等。)

答案 3 :(得分:0)

Insert命令只允许插入一个目标表...

INSERT INTO target_table () VALUES();

使用触发器时可以完成一个很好的解决方法。