C#/SQLCE CREATE TABLE 以编程方式(自动递增 + 主键)

Posted

技术标签:

【中文标题】C#/SQLCE CREATE TABLE 以编程方式(自动递增 + 主键)【英文标题】:C#/SQLCE CREATE TABLE programmatically (Auto increment + Primary key) 【发布时间】:2013-02-08 12:35:59 【问题描述】:

我正在尝试以编程方式在 SQL CE 数据库中创建一个表。 目前,我正在使用以下查询 - 尽管出现错误;

string command = @"CREATE TABLE CONNECTION(" +
                  "connection_id INTEGER IDENTITY(1,1) PRIMARY KEY, " +
                  "host NVARCHAR(255), port INT, key NVARCHAR(50), " +
                  "last_used NVARCHAR(15));";

我得到的错误是:

解析查询时出错。 [Token line number = 1, Token line offset = 104, Token in error = key]

我似乎无法弄清楚我做错了什么。我习惯了 mysql,查询略有不同。

【问题讨论】:

msdn.microsoft.com/en-us/library/ms173393(v=sql.90).aspx 看看这个@JW 点是对键添加[] 括号。 【参考方案1】:

尝试将key 括在括号中

string command = @"CREATE TABLE CONNECTION(" +
                        "connection_id INTEGER IDENTITY(1,1) PRIMARY KEY, " +
                        "host NVARCHAR(255), port INT, [key] NVARCHAR(50), " +
                        "last_used NVARCHAR(15));";
Reserved Words

【讨论】:

或者,为列选择另一个名称,否则您将不得不永远这样做。 @DanBracuk 我同意!避免未来的痛苦:D

以上是关于C#/SQLCE CREATE TABLE 以编程方式(自动递增 + 主键)的主要内容,如果未能解决你的问题,请参考以下文章

SqlCe 参数错误

sql 为给定表生成CREATE TABLE语句(以创建具有相同结构的表)

Django:以编程方式/动态创建数据库表

错误:使用 rs_create_table 时未找到 AWS 会话令牌

如何以编程方式复制包含的文件

CREATE TABLE...LIKE 不保留 Redshift 中的主键