gpt4 book ai didi

mysql - 一次更新所有列mysql

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

我有下表

No A B C D
A1 1 2 0 0
B1 1 1 1 1
C1 1 1 2 3

我必须查找所有列,如果任何列 > 1,我必须将其更改为 1。所以输出将是

No A B C D
A1 1 1 0 0
B1 1 1 1 1
C1 1 1 1 1

有没有一种方法可以同时完成这一切,而不是在 update 中逐一指定每个列名称询问。我的真实表格有 185 列。

最佳答案

使用information_schema这非常简单。

例如:

set group_concat_max_len = 4294967295;

select concat(
'update ',
table_schema,
'.',
table_name,
' set ',
group_concat(concat(' ',column_name,' = least(',column_name,',1)')),
';'
) as update_stmt
into outfile '/tmp/update_all_the_columns.sql'
from information_schema.columns
where table_schema = 'your_schema'
and table_name = 'your_table';

\. /tmp/update_all_the_columns.sql

关于mysql - 一次更新所有列mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910072/

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