我使用 ODBC 在 Excel 中创建了一个工作表并向其添加一行。
从字面上看,命令只是:
create table 'update5' ('age' NUMBER);
insert into 'update5'.'age' values (1);
这有效,我可以通过 DBVisualiser 和我的 ODBC 查询结果查看工作表中的行。
后来,我写了更多的 SQL 来添加另一行,如下所示:
insert into 'update5' ('age') values (2);
但我收到错误:
[Microsoft][ODBC Excel 驱动程序] 无法扩展命名区域。
我不知道为什么要使用命名范围,有没有办法将 ODBC 设置为不使用它们?
如果不了解你在做什么,你在做什么,以及你的最终目标,我不能给出一个明确的答案 - 但是,如果你说这工作正常:
create table 'update5' ('age' NUMBER);
insert into 'update5'.'age' values (1);
。那么按理说:
insert into update5 values (2);
。将不起作用,因为您的失踪:
- 引号(在您的环境中可能是可选的,也可能不是可选的(,以及,
- 要导出到的字段名称。
在第一个insert into
语句中,您有:
'update5' <-- the destination table
.'age' <-- the destination field
values (1); <-- the value to insert
。因此,如果您只是尝试将带有数字2
的记录添加到同一字段,请使用相同的代码:
insert into 'update5'.'age' values (2);
更多信息:
- W3学校 :SQL 插入语句
- 教程点 :SQL 插入查询(教程(
找到了。
通过 ODBC 在 Excel 中创建表时,将在该表中创建同名的命名区域。
当您尝试像这样插入时:
insert into 'update5'.'age' values (2);
它被解释为您尝试添加到表 update5 内的名为 update5 的命名范围。
您需要使用以下语法:
insert into [update5$].'age' values (2);
将值添加到名为 update5 的表中。