2011-05-22 2 views
0

Pourquoi le suivant montre-t-il une erreur mysql 1064?Erreur 1064 dans mysql

J'ai un tableau suivant:

daily_note (id, time (timestamp), rate_id, note) 

Sur cette table, je suis l'exécution de l'insertion suivante:

INSERT INTO daily_note (note) 
VALUES ('this is a note') 
WHERE rate_id = 37 
AND time > '2011-05-22 00:00:00' 

ne peut pas effectuer insérer:

Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser près « OÙ rate_id = 37 et le temps> « 2011-05-22 00: » à la ligne 3 »

Répondre

1

Vous ne pouvez pas INSERT en utilisant une instruction WHERE. Si vous souhaitez modifier des enregistrements existants en fonction de certaines conditions/critères, utilisez une instruction UPDATE au lieu de INSERT.

1

INSERT avec WHERE n'a aucun sens.

INSERT crée de nouvelles lignes, tandis que WHERE spécifie les critères de récupération/mise à jour des lignes existantes.

Lisez à propos de the syntax and meaning of the statement que vous essayez d'utiliser, avant de tenter de l'utiliser.

1

Code devrait lire:

UPDATE DAILY_NOTE 
SET field='this is a not' 
WHERE rate_id = 37 
AND time > '2011-05-22 00:00:00'