使用 MEMO 数据类型插入在 Access 中不起作用
Insert into with MEMO data type doesn't work in Access
我正在尝试使用 select
语句插入,但出现错误提示我有 syntax error
with insert into
语句。
insert into S2T_BL(note)
SELECT S2T.[work]
FROM S2T;
只是 select 本身就可以正常工作:
SELECT S2T.[work]
FROM S2T;
即使在没有该列的情况下尝试 insert
也能正常工作,其中 desc
不是备忘录数据类型:
insert into S2T_BL(desc)
SELECT S2T.[desc]
FROM S2T;
S2T.[work]
和 S2T_BL.note
都是 MEMO 数据类型,所以我认为问题与数据类型有关。有什么建议吗?
您的问题实际上不是由于 Memo 数据类型引起的。相反,问题是因为 note
是 Jet reserved word.
我创建了 S2T_BL 和 S2T 表 note 和 工作 备注字段。然后将名称 note 括在方括号中允许此查询执行而不会出错:
INSERT INTO S2T_BL([note]) SELECT S2T.[work] FROM S2T;
没有方括号...即INSERT INTO S2T_BL(note) SELECT S2T.[work] FROM S2T
...如您所报告的,我遇到了语法错误。
保留字是 Access 查询问题的常见原因,因此最好尽可能避免使用它们。当你无法避免它们时,至少要提防它们,这样你才能采取预防措施。如果您不确定哪些词是正式保留的或有其他问题,您可以使用 Allen Browne 的 Database Issue Checker Utility 检查您的数据库。除了 reserved/problem 名称之外,它还可以警告您可能使 Access 开发复杂化的其他问题。
我正在尝试使用 select
语句插入,但出现错误提示我有 syntax error
with insert into
语句。
insert into S2T_BL(note)
SELECT S2T.[work]
FROM S2T;
只是 select 本身就可以正常工作:
SELECT S2T.[work]
FROM S2T;
即使在没有该列的情况下尝试 insert
也能正常工作,其中 desc
不是备忘录数据类型:
insert into S2T_BL(desc)
SELECT S2T.[desc]
FROM S2T;
S2T.[work]
和 S2T_BL.note
都是 MEMO 数据类型,所以我认为问题与数据类型有关。有什么建议吗?
您的问题实际上不是由于 Memo 数据类型引起的。相反,问题是因为 note
是 Jet reserved word.
我创建了 S2T_BL 和 S2T 表 note 和 工作 备注字段。然后将名称 note 括在方括号中允许此查询执行而不会出错:
INSERT INTO S2T_BL([note]) SELECT S2T.[work] FROM S2T;
没有方括号...即INSERT INTO S2T_BL(note) SELECT S2T.[work] FROM S2T
...如您所报告的,我遇到了语法错误。
保留字是 Access 查询问题的常见原因,因此最好尽可能避免使用它们。当你无法避免它们时,至少要提防它们,这样你才能采取预防措施。如果您不确定哪些词是正式保留的或有其他问题,您可以使用 Allen Browne 的 Database Issue Checker Utility 检查您的数据库。除了 reserved/problem 名称之外,它还可以警告您可能使 Access 开发复杂化的其他问题。