gpt4 book ai didi

Mysql select into 语句以更容易理解的格式

转载 作者:行者123 更新时间:2023-11-29 13:18:04 25 4
gpt4 key购买 nike

我经常使用 MYSQL 程序,并且总是喜欢使用以下插入格式:

INSERT INTO TABLE SET a = AA,
b = BB ;

超过

INSERT INTO TABLE (a,b) VALUES (AA, BB);

因为在处理许多变量时更容易阅读

但是,当我尝试使用以下语法

SELECT a = AA,
b = BB
FROM TABLE;

超过

SELECT AA, BB INTO a, b FROM TABLE; 

语法不起作用,有没有更简单的方法来编写 INSERT INTO 查询,类似于插入语句?

最佳答案

首先,您应该使用第二种形式进行插入。 insert/set 仅特定于 MySQL。不过,您可能更喜欢这个:

INSERT INTO TABLE(a,b)
SELECT AA as a, BB as b;

至于你的问题,当你写下:

SELECT a = AA,
b = BB
FROM TABLE;

您正在创建两个 bool 表达式,如果正确解析,它们将返回 0、1 或 NULL。如果您的目的是给变量赋值,那么您需要使用 :=:

SELECT a := AA,
b := BB
FROM TABLE;

如果您的目的是重命名列,请使用 as:

SELECT AA as a, BB as b
FROM TABLE;

编辑:

我认为这应该有效:

SELECT @a := AA,
@b := BB
FROM TABLE;

我认为您不需要声明。如果您想要执行分配并且不返回任何内容,这可能会起作用:

SELECT *
FROM (SELECT @a := AA,
@b := BB
FROM TABLE
) t
WHERE 1 = 0;

关于Mysql select into 语句以更容易理解的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21218506/

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