0
我有一個很小的數據庫很奇怪的問題。 該表有大約400個條目,關鍵字是包含兩個md5散列的兩列。 我的表看起來像這樣:密鑰不唯一,更新非密鑰屬性上的行時?
create table if not exists documents (id NOT NULL, pid NOT NULL, path NOT NULL, title, version, author, department, retention DEFAULT 3, date,comment TEXT,PRIMARY KEY(id, pid));
現在我有例如該行數據的數據庫中:
sqlite> select oid,* from documents where oid = 11;
rowid|id|pid|path|title|version|author|department|retention|date|comment|publisher|record|recordretention|indoklenk
11|7408cf58dbf8985d8532b719edcd08b8|98b482dc01793d0dafa02a644fc425bd|Path\To\A\File|Checkliste.doc||||3|2012-01-23||Foobar||3|1
,現在我想改變一些東西,給他的OID爲其中:
sqlite> update documents set indoklenk = 0 where oid = 11;
Error: columns id, pid are not unique
爲什麼我得到這個錯誤?我從來沒有改變任何關鍵?另外我沒有任何碰撞...有一些條目具有相同的id
,但pid
總是不同。
難道這是一個糟糕的主意,改變oid的東西嗎?我從來沒有heared的一些壞事,它...
編輯:即使我通過
update documents set indoklenk = 0 where id = '7408cf58dbf8985d8532b719edcd08b8' and pid = '98b482dc01793d0dafa02a644fc425bd';
它不工作,改變它!我得到同樣的錯誤......那裏發生了什麼?爲什麼我不能改變數據?