我有一個名爲category
表和表看起來像如何不在sqlite中的列中插入公共數據?
cat_id cat_name
1 Science
2 Arts
,並命名爲item
另一個表看起來像
item_id item_name cat_id
1 physics 1
2 literature 2
3 chemistry 1
請註明該cat_id
在這裏item
表的外鍵。
現在我想,如果我把math
爲item_name
下Arts
類別,然後它會插入成功,但我希望這以這樣的方式,如果我想再次提出相同的數據,那麼它不會插入發生。請也標誌着我有cat_name和ITEM_NAME才把我的查詢獲取使用cat_name
從類別表,並插入到項目表像這樣的CATEGORY_ID
insert into item (item_name,cat_id) select 'math',category.cat_id from category where category.cat_name = 'Arts'
但如果我再次運行此查詢它插入同一項目math
再次,但我想阻止這種情況發生,我該怎麼辦?
您可以在插入數據庫之前檢查數據庫,或者將'item_name'列設置爲MySQL中唯一,它會引發錯誤。 – castis
這是MySQL還是SQLite? –
SQLITE數據庫是可取的 – Reyjohn