Je n'arrive pas à comprendre pourquoi cette requête ne fonctionnera pas. J'ai fait un SELECT pour vérifier qu'il tire les lignes que je veux. Je mets en DELETE et maintenant ça ne marchera pas.Pourquoi cette requête DELETE ne fonctionnera-t-elle pas?
Voici ma requête SELECT:
SELECT dh.dragon_list_id, dh.habitat_list_id
FROM dragon_to_habitat dh, dragon_list dl
WHERE dh.dragon_list_id = dl.dragon_list_id
AND dl.user_id = 1
AND dl.is_deleted = false
Je suis sûr que c'est quelque chose de stupide je surplombe. Peu d'aide est appréciée.
DELETE FROM dragon_to_habitat dh
WHERE dh.dragon_list_id = dragon_list.dragon_list_id
AND dragon_list.user_id = 1
AND dragon_list.is_deleted = false
J'ai essayé également cette requête avec une jointure qui ne fonctionne pas:
DELETE
FROM dragon_to_habitat as dh JOIN
dragon_list as dl ON dh.dragon_list_id = dl.dragon_list_id
WHERE dl.user_id = 1 AND dl.is_deleted = false
Erreur: # 1064 - Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près de 'as dh JOIN dragon_list comme dl ON dh.dragon_list_id = dl.dragon_list_id WH' à la ligne 2
Je veux seulement effacer les valeurs dans le table dragon_to_habitat. La table dragon_list ne devrait pas être touchée.
Pour faire bonne mesure, voici mon schéma: http://sqlfiddle.com/#!2/7ac6a1
ne fonctionnera pas? peut fournir une requête de sélection aussi? –
Quel est votre message d'erreur? En outre, je vois que vous utilisez dragon_list mais je ne vois aucune jointure – Niemand
Qu'est-ce que 'dragon_list'? Une autre table? –