gpt4 book ai didi

mysql - 创建一个列,从另一列复制数据

转载 作者:行者123 更新时间:2023-11-29 16:58:53 27 4
gpt4 key购买 nike

我正在使用 MySQL,我想在表上添加一列,但它是默认值,我想从另一列复制数据,例如:

我有两个简单列的表测试:

SELECT * FROM TEST

+----+-------------+
| ID | DESCRIPTION |
+----+-------------+
| 1 | test 1 |
| 2 | test 2 |
| 3 | test 3 |
| 4 | test 4 |
+----+-------------+

我想在同一个表上添加一列,假设数据来自描述,所以如果我运行:

ALTER TABLE TEST ADD COLUMN DESCRIPTION2 VARCHAR(20)

我会得到:

SELECT * FROM TEST

+----+-------------+--------------+
| ID | DESCRIPTION | DESCRIPTION2 |
+----+-------------+--------------+
| 1 | test 1 | test 1 |
| 2 | test 2 | test 2 |
| 3 | test 3 | test 3 |
| 4 | test 4 | test 4 |
+----+-------------+--------------+

我可以在更改表后通过简单的更新轻松地完成此操作,但由于我打算执行此操作的表很大,因此我宁愿在单个语句中执行此操作以提高性能,但我不知道是否可以这是可能的,因为我在 MySQL 文档中没有找到与此事相关的任何内容。

为了确定,我尝试运行:

ALTER TABLE TEST ADD COLUMN DESCRIPTION2 VARCHAR(20) DEFAULT `DESCRIPTION`

但这违反了语法

有比更新更好的方法吗?

最佳答案

您不能在同一语句中更改表结构并更新数据。您需要单独使用 ALTER TABLE 和 UPDATE ,除非它是生成列。

关于mysql - 创建一个列,从另一列复制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52404830/

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