0
votes

Comment supprimer des valeurs d'une table en fonction de plusieurs valeurs de deux tables

J'ai deux tables:

DELETE product_attributes_attribute FROM product_attributes_attribute
INNER JOIN product
ON  product.id = product_attributes_attribute.productId
WHERE attributeId = "154" AND organisationId IN (685,720,773,789,774,834,911,698);


1 commentaires

Quelle est la clé primaire dans produits_attribute_attributes ?


3 Réponses :


1
votes

semble que vous n'avez pas la clé principale de vos tables afin que mysql augmente l'erreur xxx pré>

Vous devez ou modifier la table principale de la table et de l'annonce pour P>

SET SQL_SAFE_UPDATES = 0;


1 commentaires

Mais ne faites pas l'option 2



0
votes

Je crois que vous utilisez MySQL Workbench. L'erreur est que vous modifiez des données sans colonne de clé dans la condition en mode sans échec. Vous pouvez désactiver le mode sans échec de Workbench lui-même.

EDIT -> Préférence -> Editeur SQL -> En bas de la page Vous avez cochez la case pour mode sans échec (Capture d'écran ci-jointe)

Écran


0 commentaires

0
votes

En fin de compte, j'ai éteint le mode sans échec et le code ci-dessous a fonctionné:

Supprimer produit_attributes_attribute. * À partir de produit_attributes_attribute Produit de jointure intérieur Sur produit.Id = produit_attributes_attribute.productid Où produit_attributes_attribute.attributsid = "188" et organiséidid in (685 720 773 789 774 834 911 698);


0 commentaires