将两个PHP sql语句合并为一个

时间:2011-09-21 13:50:32

标签: php mysql 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脚本中?

谢谢!

3 个答案:

答案 0 :(得分:2)

无法在两个不同的表中插入。 如果您想减少查询次数,可能需要重新考虑数据库结构。

答案 1 :(得分:2)

如上所述,您不能将它们组合在一起,因为插入在两个不同的表中,尽管您可以编写包含这两个查询的存储过程(带有必要的参数)并在PHP中调用该过程而不是写入这些语句...这有助于说明你想要这样做的原因,因为我无法理解你是想获得更紧凑(可重复使用)的代码,还是提高数据库的性能......

答案 2 :(得分:1)

当我看到另一个这类问题时,我总是在想,为什么没有人问如何将脚本的所有sql查询合并为一个。所有SELECT,INSERTS,UPDATES。它不是逻辑上的吗?

结合的奇怪愿望是什么?有什么意义呢? 2个单独的查询有什么问题?

当你吃东西时,你是否将沙拉,汤,主菜,饮料混合在一个碗中然后食用?没有?为什么要将所有查询放入同一个碗中?