为什么Access 2016会拒绝CREATE TABLE AS SELECT语法?
报错原因
你使用的是标准SQL的CREATE TABLE ... AS SELECT(CTAS)语法,Access 内置的 Jet/ACE 数据库引擎不支持该语法规则,这是Access自身SQL方言和标准SQL的差异导致的。
正确实现方式
Access中要实现「从现有表选指定列创建新表」的需求,需要改用SELECT ... INTO语法,示例如下:
SELECT column1, column2 INTO new_table_name FROM existing_table_name WHERE ....;
补充说明
- 该语法会自动创建和查询字段结构匹配的新表,同时写入符合筛选条件的记录,无需提前定义新表结构
- 如果要创建的新表名已经存在,执行会抛出错误,需要先删除重名旧表再执行语句
- 如果只需要创建空表结构不需要导入数据,可以添加恒不成立的筛选条件,例如
WHERE 1=0
内容的提问来源于stack exchange,提问作者Clover Honey
相关产品推荐
相关产品推荐

