2011-09-21 99 views
0

我在寻求更简洁的代码后有点帮助...将两个PHP sql语句合并为一个

当前代码工作正常。想知道如果我可以把它变成一个SQL语句,而不是两个......

$sql = "INSERT INTO table_a (1,2,3,4) VALUES ('$1','$2','$3','$4');"; 

$result = mysql_query($sql,$mysql_link); 

$id = mysql_insert_id(); 

$sql2 = "INSERT INTO table_b (1,2,3,4) VALUES ('$id','$5','$6','$7');"; 

$result2 = mysql_query($sql2,$mysql_link); 

我如何结合这两种以我目前的PHP脚本中工作?

谢谢!

+2

这些都是两个单独的DML语句不能组合使用 – rabudde

+0

是不能组合多个INSERT语句的。 – Alex

+0

@alex:在同一个表,他可以结合 – dynamic

回答

2

插入两个不同的表是不可能的。 如果你想减少你的查询次数,你可能不得不重新考虑你的数据库结构。

1

当我看到另一个这样的问题时,我一直在想,为什么没有人会问如何将脚本的所有sql查询合并为一个。所有选择,插入,更新。这不是逻辑上的吗?

什么是奇怪的愿望结合?它有什么意义? 2个独立查询有什么不对?

当你吃东西的时候,你会把沙拉,汤,主菜,饮料混合到一个碗里然后食用吗?没有?为什么你想把所有的问题放在同一个碗里?

2

如上所述,不能将它们结合起来,因为插入件是在2个不同的表中,虽然可以编写一个存储过程(带有必要的参数)同时含有这些查询,并调用在PHP该过程代替书面方式的那些声明......这将有助于告诉你想这样做的原因,因为如果你想获得更紧凑的(可重复使用)的代码,或提高您的数据库的性能,我不明白......