删除行失败,并显示“指定的索引不存在”

时间:2013-01-22 11:41:39

标签: c# sql-server-ce

我想制作一个非常简单的DELETE语句:

DELETE FROM appliances WHERE (id = 7)

但我总是得到这个错误:

DELETE FROM appliances WHERE (id = 7)
Fehlerquelle: SQL Server Compact ADO.NET Data Provider
Fehlermeldung: Der angegebene Index ist nicht vorhanden. [ PK_analog_config ]

英文翻译错误文字说:

The given index doesn't exsists. [ PK_analog_config ]

桌面用具:

id int not null primary key,
name NVarChar(20) not null,
status NVarChar(100) null,
location NVarChar(100) not null,
port int not null,

(没有外键或索引)

表analog_config: 主键是id(来自设备)和名称的组合。 所以id也是一个指向appliances.id的外键(在删除CASCADE时)。

appliance_id int not null primary key,
value_name NVarChar(20) not null primary key,
access_rights NVachar(2) not null,
min_value numeric(18,2) not null,
max_value numeric(18,2) not null,
unit nvarchar(20) not null,

fk_analog_values_appliances: 
PK-table= appliances (id)
FK-table= analog_config (appliance_id)
ON UPDATE CASCADE
ON DELETE CASCADE

我不明白错误信息。他们的意思是哪个指数?在analog_config表中没有数据。

任何人都可以帮助我吗?

0 个答案:

没有答案