Je voudrais supprimer toutes les lignes trouvées par cette requête:MySQL Supprimer de 1 table, en utilisant plusieurs tables
SELECT cart_abandon.*
FROM cart_abandon, cart_product, txn_product, users
WHERE cart_abandon.cartid = cart_product.cartid
AND cart_product.productid = txn_product.productid
AND txn_product.username = users.username
AND users.id = cart_abandon.userid
AND txn_product.txndate >= cart_abandon.abandondate
La chose à garder à l'esprit est que la requête utilise ici 4 tables différentes, mais je seulement vouloir supprimer les lignes de 1 table (cart_abandon).
Existe-t-il un moyen facile de faire cela? Peut être ça: ?
DELETE cart_abandon
FROM cart_abandon, cart_product, txn_product, users
WHERE cart_abandon.cartid = cart_product.cartid
AND cart_product.productid = txn_product.productid
AND txn_product.username = users.username
AND users.id = cart_abandon.userid
AND txn_product.txndate >= cart_abandon.abandondate
Est-ce valable? Correct?
Je l'ai fait, et ce n'était vraiment pas clair pour moi, c'est pourquoi je suis venu ici ... –
Mais ce que j'ai compris de cela m'a conduit à la requête proposée ci-dessus - est-ce exact? –
Il semble que votre requête est correcte, vous utilisez la première syntaxe (les lignes sont supprimées de la table [s] avant DE: DELETE cart_abandon DE – a1ex07