我知道我可以这样做:
CREATE TABLE new_table AS (
SELECT field1, field2, field3
FROM my_table
)
我想知道如何在这个创建表SQL
中添加更多列,而不是来自my_table
,而是我将自己编写的列,以及哪些列是唯一的{仅限{1}}。
我知道我可以使用上面的new_table
创建表,然后另外(在命令完成后)添加必要的列,但我想知道是否所有这些都可以在一个命令中完成,也许类似于这个(尝试过,但没有用):
SQL
答案 0 :(得分:8)
您还可以显式指定生成列的数据类型:
CREATE TABLE new_table
(
additional_field1 INTEGER NOT NULL DEFAULT 1,
additional_field2 VARCHAR(20) NOT NULL DEFAULT 1
)
AS
(
SELECT id, val,
1 AS additional_field1,
1 AS additional_field2
FROM my_table
);