[英]Delete Data in Multiple Table with the same id in MySQL
這是查詢:
DELETE FROM patientpersonal,patientmedical,patientdental
WHERE patientpersonal.'" & dpatientid & "' = patientmedical.'" &
dpatientid & "' AND patientpersonal.'" & dpatientid & "' = patientdental.'"
& dpatientid & "'
它具有MySQL 1064的錯誤
在我看來,您似乎希望將三個語句包裝到一個存儲過程中。 您可以將ID作為參數傳遞到存儲過程中,然后運行三個delete語句。 這將很簡單,並且可以是事務性的,因此您可以確保它不會部分執行。
如果需要,這里是指向MySQL存儲過程的一個很好的入門鏈接: http : //net.tutsplus.com/tutorials/an-introduction-to-stored-procedures/
我無法對此進行測試,因此可能會有點問題,但是您的存儲過程應如下所示:
CREATE PROCEDURE sprocDeleteAllInfo(IN my_id INT)
BEGIN
START TRANSACTION;
DELETE FROM patientpersonal WHERE patientid = my_id;
DELETE FROM patientmedical WHERE patientid = my_id;
DELETE FROM patientdental WHERE patientid = my_id;
COMMIT;
END
您需要分別從每個表中刪除。
DELETE FROM patientpersonal WHERE patientid = ?
DELETE FROM patientmedical WHERE patientid = ?
DELETE FROM patientdental WHERE patientid = ?
或者,如果需要的話,您可以為您的患者表將外鍵設置為ON DELETE CASCADE
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.