如何在 MS Access 中创建一个名为 SECTION 的数据库 table 字段?

How can I create a DB table field called SECTION in MS Access?

如果我通过 TADOCommand.execute 发送此 SQL 语句:

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

但是,如果我将 SECTION 重命名为 SECTION2,它就会起作用。我试图引用它 "SECTION" 和 'SECTION' 但它出现在名称中。我应该以某种方式定义引号或转义字符吗? 当我使用 MS Access 时,我可以用它创建一个名为 SECTION 的字段!

Section 是 SQL 中的保留字,因此您不应使用它来命名对象。有关完整的单词列表,请参阅下面的 link。

https://msdn.microsoft.com/en-us/library/ms189822.aspx

以下对我来说很好用:

  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;

注意 SECTION 周围的方括号,这在大多数情况下避免了 SQL 关键字和对象名称之间的冲突。