SQL Server基于现有表创建新表报错:SELECT关键字附近语法错误
解决CREATE TABLE AS SELECT语法错误问题
你遇到的错误是因为不同数据库对“从现有表创建新表”的语法支持存在差异:
- 如果你使用的是SQL Server,它不支持
CREATE TABLE ... AS SELECT这种写法,必须替换为SELECT ... INTO语法,修改后的语句如下:
SELECT * INTO STAFF3 FROM STAFF
- 如果你使用的是MySQL、PostgreSQL这类支持CTAS(CREATE TABLE AS SELECT)的数据库,检查两个关键点:
- 语句末尾是否遗漏了分号(部分数据库要求必须添加),修改后语句示例:
CREATE TABLE STAFF3 AS SELECT * FROM STAFF; - 确认
STAFF表名称拼写正确,且你拥有创建新表的权限。
- 语句末尾是否遗漏了分号(部分数据库要求必须添加),修改后语句示例:
内容的提问来源于stack exchange,提问作者cherriedy
相关产品推荐
相关产品推荐

