【发布时间】:2017-02-04 17:45:44
【问题描述】:
我正在尝试使用现有表中的选择性列创建一个新表。我使用了以下查询,
create table New
AS (select UnitID,Institution,State,MSA from Old);
但我得到的错误是,
关键字“as”附近的语法不正确。
如果我删除那些 ()-括号,则表示 ()-括号应该在 AS 附近。
任何建议都会有所帮助!
【问题讨论】:
-
New和Old都是保留字,需要用"Old"和"New"分隔。 -
@a_horse_with_no_name,自 ISO/ANSI SQL-1999 以来,旧字和新字都是保留字。
-
您使用的是哪个 DBMS?
-
仅供参考:您尝试使用此 SQL 的方式期望在括号之间创建表列的定义,而不是从另一个表读取数据的 SQL 语句。所以这只是一个语法错误。下面的答案(使用 SELECT...INTO)可以解决问题。这可行,但首选方法是创建一个新表并将数据复制到其中。这将使您对发生的事情有更多的控制权。
标签: sql