如何在MS Access中创建名为SECTION的数据库表字段?
如果我通过TADOCommand.execute派遣这条SQL语句:如何在MS Access中创建名为SECTION的数据库表字段?
CREATE TABLE Spice (MODEL TEXT NOT NULL, PART TEXT NOT NULL PRIMARY KEY, SECTION TEXT NOT NULL, FOOTPRINT TEXT NOT NULL, NODELIST TEXT NOT NULL);
它说:
Syntax error in field definition
但是,如果我重新命名节SECTION2它的工作原理。我试图引用它“SECTION”和“SECTION”,但它出现在名称中。我应该以某种方式定义引号或转义字符吗? 我使用MS Access,我可以创建一个名为SECTION的字段!
以下为我工作得很好:
AdoCommand1.CommandText :=
'CREATE TABLE Spice (MODEL TEXT NOT NULL, PART TEXT NOT NULL PRIMARY KEY, [SECTION] TEXT NOT NULL, FOOTPRINT TEXT NOT NULL, NODELIST TEXT NOT NULL);';
AdoCommand1.Execute;
注意的方括号部分,它避免了在大多数情况下,SQL关键字和对象名之间的冲突。
downvoter会详细说明吗? – MartynA
科是SQL中保留字,所以你不应该用它来命名的对象。有关单词的完整列表,请参阅下面的链接。
但在这种情况下,MS Access如何创建一个名为SECTION的字段? –
你可以看看MS ACCESS的这个解释。如果您为字段名称使用保留字,Access只会警告您可能会遇到问题。您的工具可能不知道如何处理警告,或者这是其中一个问题。 https://support.office.com/zh-cn/article/Access-2007-reserved-words-and-symbols-e33eb3a9-8baa-4335-9f57-da237c63eabe – kubasnack
您是否尝试过'[SECTION]'? – kobik
@kobik谢谢kobik。它工作正常。如果您创建答案,我会接受它。 –