我有2個表格:dbvotes.votes
和dbsystem.topics
現在我想確定是否有人爲某個主題投票。查詢「檢查」主題是否存在。我有以下內容(感謝SO上的一些主題)。failafe mysql查詢插入與其他表中的驗證值
此代碼有效,但它是正確的方式嗎?
INSERT INTO dbvotes.votes (topicid,vote,voterid) VALUES(
(SELECT topicid
FROM dbsystem.topics
WHERE topicid = 20),
(12),
(1)
)
它採用的是選擇一個不同的database.table是我的故障安全(因爲它返回NULL /了MySqlError當topicid不存在)的一部分。使用的值是用戶提交的。
這是嵌套sql語句嵌入子句的「值」部分的正確方法嗎?
哇,這是高超的!非常感謝你。當用戶被刪除或需要魔法時,我還可以進行級聯嗎?我確實使用2個數據庫。原因是我試圖創建某種投票功能,而不必混淆原始系統的數據庫。所以用戶只能從系統數據庫中選擇值。外鍵是否仍然有效? – rinserepeat
我這麼認爲,是的。而對於「用戶刪除」的事情,只需爲用戶表創建另一個外鍵即可。此外,只是一個提示,您也可以授予對單個表的只讀訪問權限,即使對於列也是如此。無需將它保存在兩個數據庫中,但它應該無論如何都能正常工作。 – fancyPants
非常感謝大家,這似乎是最好的解決方案!乾杯! – rinserepeat