【发布时间】:2017-01-31 20:44:14
【问题描述】:
在 SQL(无论您喜欢哪种变体,例如 MySQL 或 MonetDB)中,它都非常直观且易于操作:
CREATE TABLE t2 AS SELECT c1 FROM t1;
并将选择结果作为新表中的新列获取。但是,如果您希望将结果作为 same 表(表t1)中的新列怎么办?假设c1 的类型为INT,并且可能为空。我们需要写:
ALTER TABLE t1 ADD c2 INT;
UPDATE TABLE t1 SET c2 = c1;
这是一个简单的版本,因为如果它是一个非空列,我们需要用一些值初始化新列;如果数据来自多个表,我需要在UPDATE 中进行某种内部查询(如果可能的话)。
我可以以某种方式使用单个命令选择列吗?
【问题讨论】:
标签: mysql sql create-table select-into