gpt4 book ai didi

mysql - 根据mysql中另一个表中的新条目在一个表中添加新列

转载 作者:可可西里 更新时间:2023-11-01 06:31:41 25 4
gpt4 key购买 nike

我有 2 个表: session 和作业。此分配表有一个名为 scriptname 的列,其中字符串作为值。 session 表的列名等于 scriptname+ 列 iduidtimeintimeout 。当我向分配添加新实例时,我在 scriptname 列中获得了新值,我想将其作为新列添加到默认值为 0 的 session 中。我该怎么做?

我目前所做的是删除表并根据 scriptname 列创建一个新表。问题当然是我丢失了所有数据。

DROP TABLE sessions;
SET SESSION group_concat_max_len = 1000000;
SELECT
CONCAT(
'CREATE TABLE sessions (',
GROUP_CONCAT(DISTINCT
CONCAT(scriptname, ' BOOL DEFAULT 0')
SEPARATOR ','),
');')
FROM
assignments
INTO @sql;

PREPARE stmt FROM @sql;
EXECUTE stmt;

ALTER TABLE sessions
ADD COLUMN `timeout` timestamp not null FIRST,
ADD COLUMN `timein` timestamp not null DEFAULT CURRENT_TIMESTAMP FIRST,
ADD COLUMN `uid` VARCHAR(128) not null FIRST,
ADD COLUMN `id` INT(11) AUTO_INCREMENT PRIMARY KEY not null FIRST;

我真的不是 sql 专家,希望有人能帮助我!提前致谢。

最佳答案

考虑向表格中添加行。然后,稍后,在显示输出时“旋转”以生成列。

如您所见,添加列非常笨拙。添加太多列最终会达到某个限制。添加行基本上是无限的。

枢轴在这个论坛上讨论了很多次,所以我不会在这里重复那些讨论。

关于mysql - 根据mysql中另一个表中的新条目在一个表中添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42961573/

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