C# visual studio中具有多个空值的唯一列
我希望对可能包含空值的C# visual studio中具有多个空值的唯一列,c#,sql-server,winforms,sql-server-ce,C#,Sql Server,Winforms,Sql Server Ce,我希望对可能包含空值的条形码列具有唯一约束 如何创建允许多个空值的约束 我使用一个本地数据库.sdf文件(Microsoft SQL Server Compact 4.0和Microsoft SQL Server Compact 4.0的.NET Framework数据提供程序) 我试过: 但它不起作用 我得到的错误是: 分析查询时出错,[Token line number=1,Token line offset=64,Token in error=WHERE] 有任何帮助吗?更新:SQL Se
条形码
列具有唯一约束
如何创建允许多个空值的约束
我使用一个本地数据库.sdf
文件(Microsoft SQL Server Compact 4.0和Microsoft SQL Server Compact 4.0的.NET Framework数据提供程序)
我试过:
但它不起作用
我得到的错误是:
分析查询时出错,[Token line number=1,Token line offset=64,Token in error=WHERE]
有任何帮助吗?更新:SQL Server Compact 4.0中不支持筛选的索引 参考: TSQL语法是正确的(假设您有SQL Server 2008+。SQL Server 2008中引入了筛选索引) 更改此项:
cmd.ExecuteReader();
对此
cmd.ExecutNonQuery();
此外,您应该使用块将连接包装在一个
中。更新:SQL Server Compact 4.0中不支持过滤索引
参考:
TSQL语法是正确的(假设您有SQL Server 2008+。SQL Server 2008中引入了筛选索引)
更改此项:
cmd.ExecuteReader();
对此
cmd.ExecutNonQuery();
此外,您应该使用
块将连接包装在一个中。更新:SQL Server Compact 4.0中不支持过滤索引
参考:
TSQL语法是正确的(假设您有SQL Server 2008+。SQL Server 2008中引入了筛选索引)
更改此项:
cmd.ExecuteReader();
对此
cmd.ExecutNonQuery();
此外,您应该使用
块将连接包装在一个中。更新:SQL Server Compact 4.0中不支持过滤索引
参考:
TSQL语法是正确的(假设您有SQL Server 2008+。SQL Server 2008中引入了筛选索引)
更改此项:
cmd.ExecuteReader();
对此
cmd.ExecutNonQuery();
另外,您应该使用
块将连接包装在一个中。SQL Server 2008中引入了筛选索引。在该版本之前,在这样的语句中,where
子句会出现错误。如果您使用的是较新的版本,可能是您的兼容性设置导致了问题
兼容性级别是使给定版本的SQL Server的行为与早期版本类似的一种方法。级别80和90适用于2000和2005,因此不允许使用语法。这是一些文档
如果每行上都有唯一的id,则可以使用计算列和唯一索引来实现相同的效果:
alter table product add barcode_productid as (case when barcode is null then productid end);
CREATE UNIQUE NONCLUSTERED INDEX Barcodex ON Products(Barcode, barcode_productid);
SQL Server 2008中引入了筛选索引。在该版本之前,在这样的语句中,where
子句会出现错误。如果您使用的是较新的版本,可能是您的兼容性设置导致了问题
兼容性级别是使给定版本的SQL Server的行为与早期版本类似的一种方法。级别80和90适用于2000和2005,因此不允许使用语法。这是一些文档
如果每行上都有唯一的id,则可以使用计算列和唯一索引来实现相同的效果:
alter table product add barcode_productid as (case when barcode is null then productid end);
CREATE UNIQUE NONCLUSTERED INDEX Barcodex ON Products(Barcode, barcode_productid);
SQL Server 2008中引入了筛选索引。在该版本之前,在这样的语句中,where
子句会出现错误。如果您使用的是较新的版本,可能是您的兼容性设置导致了问题
兼容性级别是使给定版本的SQL Server的行为与早期版本类似的一种方法。级别80和90适用于2000和2005,因此不允许使用语法。这是一些文档
如果每行上都有唯一的id,则可以使用计算列和唯一索引来实现相同的效果:
alter table product add barcode_productid as (case when barcode is null then productid end);
CREATE UNIQUE NONCLUSTERED INDEX Barcodex ON Products(Barcode, barcode_productid);
SQL Server 2008中引入了筛选索引。在该版本之前,在这样的语句中,where
子句会出现错误。如果您使用的是较新的版本,可能是您的兼容性设置导致了问题
兼容性级别是使给定版本的SQL Server的行为与早期版本类似的一种方法。级别80和90适用于2000和2005,因此不允许使用语法。这是一些文档
如果每行上都有唯一的id,则可以使用计算列和唯一索引来实现相同的效果:
alter table product add barcode_productid as (case when barcode is null then productid end);
CREATE UNIQUE NONCLUSTERED INDEX Barcodex ON Products(Barcode, barcode_productid);
您使用的是什么版本的SQL Server?@GordonLinoff SQL Server 2008 R2您使用的是什么版本的SQL Server?@GordonLinoff SQL Server 2008 R2您使用的是什么版本的SQL Server?@GordonLinoff SQL Server 2008 R2您能解释一下兼容性设置可能导致的问题吗此问题?代码抛出错误分析查询时出错,[Token line number=1,Token line offset=64,Token in error=WHERE]
您能否解释什么兼容性设置可能导致此问题?代码抛出错误分析查询时出错,[Token line number=1,Token line offset=64,Token in error=WHERE]您能解释一下什么兼容性设置会导致这个问题吗?代码抛出一个错误解析查询时出错,[Token line number=1,Token line offset=64,Token in error=WHERE]
您能解释一下什么兼容性设置会导致这个问题吗?代码抛出一个错误解析查询时出错,[令牌行编号=1,令牌行偏移量=64,令牌错误=WHERE]
我在每一行上都有一个唯一的列,我在下面尝试了@GordonLinoff代码,但它抛出错误解析查询时出错,[令牌行编号=1,令牌行偏移量=64,令牌错误=AS]
我在每一行上都有一个唯一的列,我在下面尝试了@GordonLinoff代码,但它抛出错误解析查询时出错