Forum Clubic

Requête tourne dans le vide!

Bonjour à tous,

Voilà depuis un petit moment je me creuse la tête pour exécuter une requête de mise à jour de champ dans une table mais rien y fait à chaque fois mysql la fait tourner mais dans le vide… C’est-à-dire que mysql ne retourne aucun message d’erreur mais ne me rempli pas la table correctement. Voici ma requête :

UPDATE commune SET bord_de_mer='O' WHERE code_poste IN (SELECT code_poste FROM transformateur WHERE caracteristique REGEXP "M" AND code_poste<>'')

Est-ce que quelque chose ne va pas car je ne vois pas du tout ?

Merci à tous pour vos réponses
Edité le 25/08/2009 à 14:19

ça sert à quoi de faire une REGEXP sur un seul caractère ? Tu peux pas utiliser l’opérateur LIKE ?

Salut,

Tes tables bord_de_mer et code_poste sont des INT non? Pourquoi tu les compares avec des strings?
Quand Mysql rencontre une erreur, il cherche un autre moyen de faire la requête et ça dure des plombes. C’est peut être ça qui t’arrives.
(surtout que du coup il ne peut pas utiliser les index)
Faut voir aussi la version de mysql que tu as. Les anciennes n’acceptent pas d’imbriquer les requêtes comme ça.

Merci de vos réponses,

En fait nan bord_de_mer et code_poste ne sont pas des int. bord_de_mer prend ‘O’ ou ‘N’ et code_poste ne correspond pas à un code postal mais à code spécial qui comprend le code postal des caractères et des chiffres.

En fait le problème est résolu…

Si tu regardes bien ma requête, je met un zéro entre ’ ’ mais je voulais la lettre O donc pose problème.

Merci de ton aide