Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将两个PHP sql语句合并为一个_Php_Mysql_Sql - Fatal编程技术网

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

将两个PHP sql语句合并为一个,php,mysql,sql,Php,Mysql,Sql,我想在寻找更干净的代码时得到一些帮助 工作正常的当前代码。不知道我是否可以将其转换为一个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

我想在寻找更干净的代码时得到一些帮助

工作正常的当前代码。不知道我是否可以将其转换为一个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脚本中工作


谢谢

不可能在两个不同的表中插入。
如果要减少查询计数,可能必须重新考虑数据库结构。

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

当我看到另一个此类问题时,我总是想知道,为什么没有人会问如何将脚本的所有sql查询合并为一个查询。所有选择、插入、更新。这不符合逻辑吗

合并的奇怪愿望是什么?这有什么意义?两个单独的查询有什么问题


当你吃饭的时候,你会把沙拉、汤、主菜、饮料混合在一个碗里然后食用吗?不那么,为什么要将所有查询放在同一个碗中?

当我看到另一个此类问题时,我总是想知道,为什么没有人问如何将脚本中的所有sql查询合并到一个碗中。所有选择、插入、更新。这不符合逻辑吗

合并的奇怪愿望是什么?这有什么意义?两个单独的查询有什么问题


当你吃饭的时候,你会把沙拉、汤、主菜、饮料混合在一个碗里然后食用吗?不那么,为什么要将所有查询放在同一个碗中?

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

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

这是两个独立的DML语句,它们不能组合在一起是的,不能组合多个
INSERT
语句。@alex:在同一张表上,他可以组合起来是的,应该指定我在谈论这个问题。这是两个单独的DML语句,不能组合是,不能组合多个
INSERT
语句。@alex:在同一张表上,他可以组合,应该指定我在谈论这个问题。