2

我想做一个非常简单的删除语句:

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 也是指向 Appliance.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 表中没有数据。

谁能帮我?

4

0 回答 0