gpt4 book ai didi

mysql - ALTER TABLE ADD COLUMN 和自动列列表

转载 作者:行者123 更新时间:2023-11-29 23:02:30 25 4
gpt4 key购买 nike

我希望使用提供的建议 here 在表中添加新列和 here

本质上,我希望自动填充(fields_in_orig_table),而不必手动输入它们(有很多列,并且这会随着表的不同而变化):

CREATE TABLE games_new LIKE games_orig;
ALTER TABLE games_new ADD COLUMN location varchar(256);
INSERT INTO games_new (fields_in_orig_table) SELECT * FROM games_orig;
RENAME TABLE games_orig TO games_old, games_new TO games_orig;
DROP TABLE games_old;

我的想法是这样的:

CREATE TABLE games_new LIKE games_orig;
ALTER TABLE games_new ADD COLUMN version varchar(256);
INSERT INTO games_new

(SELECT CONCAT(GROUP_CONCAT(column_name ORDER BY ordinal_position
SEPARATOR " , "), " ") AS columns
FROM information_schema.columns
WHERE table_schema = 'games' AND table_name = 'games_orig' )

SELECT * FROM games_orig;
RENAME TABLE games_orig TO games_old, games_new TO games_orig;
DROP TABLE games_old;

这给了我语法错误(靠近 Select concat....)。

获取逗号分隔列列表的原始语法是:

SELECT CONCAT("'", GROUP_CONCAT(column_name ORDER BY ordinal_position SEPARATOR "', '"), "'") AS columns
FROM information_schema.columns
WHERE table_schema = 'db_name' AND table_name = 'tbl_name'

在我的查询中,我删除了额外的引号,因为我认为我的查询不需要引号作为列列表的一部分。

我在这里做错了什么?请问谁可以帮忙?

最佳答案

INSERT INTO  games_new 

VALUES (SELECT CONCAT....

关于mysql - ALTER TABLE ADD COLUMN 和自动列列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28425755/

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