gpt4 book ai didi

Mysql 查询变得复杂 - 需要在多个查询语句周围包装另一个 SELECT

转载 作者:行者123 更新时间:2023-11-29 06:48:36 31 4
gpt4 key购买 nike

我正在执行此查询,它首先根据 SELECT 语句插入多条记录,然后使用 UPDATE 更新表。

INSERT table_name (field1, field2)
SELECT 103, field_x FROM another_table WHERE field_y != "";
UPDATE table_name SET field3 = CONCAT('103', '-', id)

我现在需要添加另一个 SELECT 语句,其结果会多次执行上面的全部操作。有点像下面,但这当然行不通。我可以在 PHP 中执行此操作,但最好在一个查询中获取很多信息。

SELECT xxx FROM third_table (
INSERT table_name (field1, field2)
SELECT xxx, field_x FROM another_table WHERE field_y != "";
UPDATE table_name SET field3 = CONCAT('xxx', '-', id)
)

我试过再次将 SELECT 放在底部,但我无法让它们一起工作。同时运行前两个查询很重要。

最佳答案

通过运行多个语句在 PHP 中执行此操作。

使用 transaction以确保更改作为一个整体进行。

您正在尝试使用 SQL 语言中根本不存在的语法。您不能在子查询中放入 INSERT 或 UPDATE。您不能在一个子查询中使用多个语句,以分号分隔。您不能像现在这样在随机位置为子查询打开括号。

你只是在盲目地编造语法和语义,并希望它能起作用。这绝不是正确的编程方式。

关于Mysql 查询变得复杂 - 需要在多个查询语句周围包装另一个 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17030501/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com