使用MEMO数据类型插入在Access中不起作用

时间:2015-09-14 14:50:03

标签: sql ms-access ms-access-2010 sql-insert

我试图插入select语句,但我收到的错误是我syntax error声明insert into

insert into S2T_BL(note)
SELECT S2T.[work]
FROM S2T;

只需选择合适的作品:

SELECT S2T.[work]
FROM S2T;

即使在没有该列的情况下尝试insert也可以正常工作,其中desc不是备忘录数据类型:

    insert into S2T_BL(desc)
    SELECT S2T.[desc]
    FROM S2T;

S2T.[work]S2T_BL.note都是MEMO数据类型,因此我认为问题与数据类型有关。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您的问题实际上不是由于Memo数据类型。相反,问题是因为noteJet reserved word

我使用 note 工作备注字段创建了 S2T_BL S2T 表。然后将名称​​ 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来检查您的数据库。除了保留/问题名称之外,它还可以警告您可能使Access开发复杂化的其他问题。