2009-12-03 13 views
-2

J'essaie de mettre à jour queueStatusINT WHERE statusINT est 8 et queueStatusINT n'est pas égal à 2 et le type est $ type. Mais je continue à obtenir une erreur:Comment MYSQL UPDATE fieldINT! = '4' ne fonctionne pas

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘ queueStatusINT!='2’, type=’int'' at line 1 

Im en utilisant cette requête SQL pour faire la mise à jour:

UPDATE $mysqlTable SET queueStatusINT='2’ WHERE statusINT='8’, queueStatusINT!='2’, type=‘$type’; 

J'ai aussi remarqué que je peux faire un pas égal à une commande SELECT ...

SELECT nameTXT FROM $mysqlTable WHERE queueStatusINT!='2' ORDER BY queueStatusINT DESC, priorityINT DESC, id ASC LIMIT 7; 

Répondre

3

Vous devez utiliser ET pour combiner vos critères, pas seulement des virgules.

Par exemple

UPDATE $mysqlTable 
SET queueStatusINT = '2' 
WHERE statusINT  = '8' 
AND queueStatusINT != '2' 
AND type   = '$type' 
+0

Cheers, qui fonctionne. – Mint

1

Modifier votre mise à jour à:

UPDATE $mysqlTable 
SET queueStatusINT='2’ 
WHERE statusINT=8 
AND queueStatusINT !=2 
AND type=‘$type’; 

Je suppose que queueStatusINT est un entier (comme son nom l'indique) - vous devez laisser le « » car ils symbolisent une chaîne /personnage.

Meilleurs voeux, Fabian