Requete DELETE sql

Eléphant du PHP | 372 Messages

07 sept. 2015, 20:38

Salut à tous je cherche a écrire une requete SQL qui me permettrai de supprimé par exemple tous les entrée qui on une colonne non vide ( url_prod ) et dont le id_prod = 4 par exemple.
J'ai l'idée mais pas la syntaxe.
DELETE FROM `usine` WHERE url_prod AND id_prod = 4
Donc l'idée si l'entrée a comme id_prod 4 et que la colonne url_prod contient quelque chose alors tu la supprimer ...
Merci à vous

Mammouth du PHP | 2703 Messages

07 sept. 2015, 21:04

DELETE FROM `usine` WHERE url_prod <> "" AND id_prod = 4

Eléphant du PHP | 372 Messages

07 sept. 2015, 21:35

Salut merci à toi.
Que veut dire ? <> "" ebtre url_prod et id_prod stp ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

07 sept. 2015, 22:14

<> veut dire différent de
Donc <> "" veut dire différent de vide (ou non-vide en bon français)
Quand tout le reste a échoué, lisez le mode d'emploi...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 sept. 2015, 12:00

Bonjour,

Attention, en SQL (comme en php d'ailleurs), la valeur chaîne vide ( "" ) et la valeur non renseignée ( null ) sont deux notions distinctes. Il peut donc être nécessaire de contrôler ces deux valeurs, ou seulement l'une des deux en fonction de la façon dont votre table est alimenté
DELETE FROM usine WHERE url_prod IS NOT NULL AND url_prod <> "" AND id_prod = 4
A noter que "<>" (différent de) peut également s'écrire "!=" en fonction de la base de données interrogée.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...