2012-10-03 4 views
-1

Je ne peux pas modifier les données dans le tableau ..Mise à jour - Erreur de syntaxe SQL

UPDATE users 
    SET mem_expire = 2111-10-10 00:00:00 
    WHERE mem_expire = 0000-00-00 00:00:00; 

MySql Erreur:

#1064 - 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 '00:00:00 WHERE mem_expire = 0000-00-00 00:00:00' at line 2

Comment puis-je résoudre ce problème?

+0

Quel type de données est mem_expire? –

+0

Citer la nouvelle date 'mem_expire = '2111-10-10 00: 00: 00'' et l'ancienne. 'WHERE mem_expire = '0000-00-00 00:00:00'; –

+0

[STR_TO_DATE] (http://dev.mysql.com/doc/refman/5.5/fr/date-and-time-functions.html#function_str-to-date) est le meilleur moyen, offrant une flexibilité pour n'importe quel format de date vous voulez utiliser plutôt que la norme. –

Répondre

1

chaîne Date de littéraux doivent mettre en guillemets comme ceci:

UPDATE users 
SET mem_expire = '2111-10-10 00:00:00' 
WHERE mem_expire = '0000-00-00 00:00:00'; 
+0

Encore une fois; Merci beaucoup! –

5

Essayer:

UPDATE users 
SET mem_expire = '2111-10-10 00:00:00' 
WHERE mem_expire = '0000-00-00 00:00:00'; 

Vous devez ajouter '(plings)

+0

Romo a raison, puisqu'il s'agit d'une chaîne/valeur avec laquelle vous travaillez, vous voulez être sûr de l'entourer de guillemets afin que MySQL n'essaie pas de traiter '0000-00-00 00: 00: 00' comme Mot-clé MySQL, mais une chaîne. – Webnet

+0

Merci beaucoup! –

Questions connexes