[英]Medoo | Delete with Inner Join
嗨,目前我開始使用Medoo,當我檢查文檔時,我找不到用內部連接語句刪除記錄的方法。
是否有使用$db->delete()
方法$db->delete()
內部$db->delete()
記錄的解決方法?
原始SQL查詢:
DELETE t1 FROM customers t1 INNER JOIN customers t2 WHERE t1.id < t2.id AND (t1.customer_name = t2.customer_name AND t1.customer_unique_code = t2.customer_unique_code)
到目前為止我嘗試使用內部查詢,就像我在$db->select
所做的那樣,但不幸的是它沒有用。
目前我可以使用$db->query()
來處理它,但這對我來說不是最佳解決方案。
$db->query(
'DELETE
t1 FROM '.$customers_db.' t1 INNER JOIN '.$customers_db.' t2 WHERE t1.id < t2.id AND(
t1.customer_name = t2.customer_name AND t1.customer_unique_code = t2.customer_unique_code)
');
我想知道是否有比這更好的方法。
提前感謝您的建議
您可以在查詢中執行此操作,但使用連接執行此操作並非最佳方法。 嘗試使用這樣的參數化:
$db->query(
'DELETE t1
FROM :custdb t1
INNER JOIN :custdb t2
WHERE t1.id < t2.id
AND (
t1.customer_name = t2.customer_name AND t1.customer_unique_code = t2.customer_unique_code
)',
[
":custdb" => "customer_DB_name"
]
);
我不知道如何使用刪除進行連接(我懷疑是否可能)但是,如果在數據庫本身中創建所需的視圖,則可以在刪除語句中選擇視圖而不會出現問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.