CREATE TABLE 语句中的语法错误
Posted
技术标签:
【中文标题】CREATE TABLE 语句中的语法错误【英文标题】:Syntax error in CREATE TABLE statement 【发布时间】:2014-03-19 12:09:43 【问题描述】:我在运行时创建了一个 MS Access 数据库并尝试创建一个表。 下面的代码在运行时创建表时显示错误“”。
cmmd.CommandText = "CREATE TABLE tblContacts( [SectionID] AUTOINCREMENT PRIMARY KEY,[ScetionName] Text(50), [CatID] Number(Integer), [Rate] Number(Double), [Prefix] Text(5), [Suffix] Text(5), [NextNumber] Number(Integer), [Inactive] Yes, [ModUserID] Number(Integer),[ModDate] Date)";
cmmd.ExecuteNonQuery();
【问题讨论】:
By learning the basics 看看这个问题:***.com/questions/1388971/… 【参考方案1】:Access db 引擎将拒绝字段类型声明,例如 Number(Integer)
。假设您将从 OleDb 连接执行语句,请使用这个 ...
cmmd.CommandText = "CREATE TABLE tblContacts( [SectionID] COUNTER PRIMARY KEY,[ScetionName] Text(50), [CatID] Long, [Rate] Double, [Prefix] Text(5), [Suffix] Text(5), [NextNumber] Number(Integer), [Inactive] YesNo, [ModUserID] Long,[ModDate] DateTime)";
您可以在此处找到包含有效 Access DDL 字段类型声明的表:Field type reference - names and values for DDL, DAO, and ADOX
【讨论】:
谢谢@HansUp。它运作良好。请帮助我处理人际关系。 CatID 应该来自 Category 表?如何将 CatID 字段与 tblCategory 相关联? 使用REFERENCES
关键字。有关示例,请参见 here --- 查看 “创建预订表” 下的示例。如果遇到麻烦,请发布新问题。以上是关于CREATE TABLE 语句中的语法错误的主要内容,如果未能解决你的问题,请参考以下文章
org.h2.jdbc.JdbcSQLSyntaxErrorException:SQL 语句“CREATE[*] SCHEMA DATABASE”中的语法错误; SQL 语句:
SQL 语句“CREATE EXTENSION[*] IF NOT EXISTS UUID_OSSP”中的语法错误