根據條件,我在兩個不同的表中插入一行。php mysql有條件地向不同的表插入行
讓我們說,我們有一個名爲stories
與考慮2個字段的表:
(story_id and comments_count
)
和2個其他表:
regcomments (comment_id, story_id, comment_text)
unregcomments (comment_id, story_id, comment_text)
現在,在inserti之前如果有任何story_id
的新評論,我只想檢查comments_count
是否小於100.如果是,則應該將該行插入到regcomments
中,否則應將該行插入到unregcomments
中。
下面是我如何做到這一點的僞代碼:
select comments_count from stories where story_id = x
if comment_count<100
insert into regcomments
else
insert into unregcomments
現在,所有我關心的是,如果多個用戶同時訪問這個劇本是什麼,是否有任何機會,這會失敗?例如,一個故事有99條評論。 2個用戶在同一時間完全調用此函數。第一個選擇查詢同時執行,兩者都得到99,所以兩個插入都會被註冊,使註冊數爲101,這違反了我的商業規則。任何人都有任何想法,事情如何。或者我應該如何處理這種情況的任何想法。 (不要問我爲什麼我使用2個表:P無論如何)
謝謝Jari Karppanen,這清除了我腦海中的疑慮。 – Khan