我如何通过一个mysql查询插入3个不同的表,即我想编写一个mysql查询,它将插入3个不同的表。我基本上有html表单,其中有不同的表,所以我将插入从一个表单收集的数据到3个不同的表。如果是这样的话是不是有可能?如果不是为什么??
一张表
$var1_table1 = $_POST['table1_column1'];
$var2_table1 = $_POST['table1_column2'];
$var3_table1 = $_POST['table1_column3'];对于第二个表
$var1_table2 = $_POST['table2_column1'];
$var2_table2 = $_POST['table2_column2'];
$var3_table2 = $_POST['table2_column3'];对于第三个表
$var1_table3 = $_POST['table3_column1'];
$var2_table3 = $POST['table3_column2'];
$var3_table3 = $_POST['table3_column3'];这是我的变量的格式
发布于 2012-01-05 17:22:32
据我所知,PHP的mysql_query()函数不支持多个查询(insert、select、update等),而且当您要插入到具有不同字段/列的不同表中时,您必须为每个查询运行单独的查询。我不认为有办法去做你想做的事情。
发布于 2012-01-05 17:16:50
Short answer
不,您不能使用一条SQL语句插入多个表。
较长的应答
您可以通过将数据插入到table1中,然后在table1上设置一个trigger来将数据插入到表2和表3中,使用BLACKHOLE table暂时存储您的数据。就像this一样。
就我个人而言,我会像避免瘟疫一样避免这种情况,因为它掩盖了从给定应用程序向数据库插入数据的方式和位置。关于这种做法的更深入的讨论可以在here上找到。
如果我是你,我只会在你的php应用程序中编写三个独立的INSERT语句,避免试图创建一个插入多个表的查询。它会帮你省去很多痛苦!
发布于 2012-01-05 17:15:24
没有一个标准查询允许插入到三个表中。但是:
https://stackoverflow.com/questions/8739834
复制相似问题