1
競爭條件我有3個表:當插入一行
Counters: ID, ItemCatalogID, CurrentCounter
Item: ID, ItemCatalogID, Name, Description, OtherValue
ItemCatalog: ID, Name, Description
計數器表包含項目目錄CurrentCounter,當我插入一排,我要查詢數據庫,獲取相應目錄的當前計,然後將此值更新爲1,並將此值用於「其他值」字段。
例如:
update Counters set CurrentCounter = CurrentCounter + 1 where ItemCatalogID = 100;
select CurrentCounter into v from Counters where ItemCatalogID = 100;
insert into Item(ItemCatalogID, Name, Description, OtherValue) values (100, 'MyItem', 'Short Description', v);
但我不知道,可能會發生衝突情況嗎?如何改進我的解決方案?
假設ID = 100的ItemCatalog具有30個項目。現在我想將第31項插入「Item」表中,此項的「OtherValue」字段將爲31.如何使用您的策略執行此操作? –
我詳細闡述了一點。 – glglgl
非常感謝!我是PHP/MySQL世界的新手。我想我必須努力學習。 –