Ich habe einen MySQLvariablemysql query in variable
@query = CONCAT('INSERT INTO history VALUES (',1,',',50,',UTC_TIMESTAMP()');
Ich möchte führen Sie die Insert-Anweisung in der Variablen auszuführen.
Ich habe einen MySQLvariablemysql query in variable
@query = CONCAT('INSERT INTO history VALUES (',1,',',50,',UTC_TIMESTAMP()');
Ich möchte führen Sie die Insert-Anweisung in der Variablen auszuführen.
Sie müssen zunächst die Anweisung mit PREPARE
vorbereiten und dann EXECUTE
verwenden Siehe hier: http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html
Etwas wie:
SET @query = CONCAT("INSERT INTO history VALUES (",1,",",50,",UTC_TIMESTAMP()");
PREPARE stmt1 FROM @query;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
Ich habe diesen Fehler # 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe von "EXECUTE stmt_name" in Zeile 2 entspricht – Avinash
Versuchen Sie meine Bearbeitung, sollte in Ordnung sein. – mattytommo
Danke @mattytommo. – Avinash
Set @query = CONCAT("INSERT INTO history VALUES (",1,",",50,",UTC_TIMESTAMP()");
und dann
PREPARE stmt_name FROM @query
und zuletzt
EXECUTE stmt_name
entfernen Sie die CONCAT(), ist es nicht etwas zu tun, einen Fehler außer zu erzeugen, da es sonst einen String mit nichts zu verketten versucht.
Es ist eigentlich concentrationing 5 Elemente, es wird kein Fehler => Ihre Antwort ist schlecht -> Antworten Sie nicht bereits beantwortete Fragen - schauen Sie sich die "neue" Abschnitt und zeigen Sie Ihre Fähigkeiten :) – Toumash
unlogische Antwort. –
versuchen Sie vorbereitete Anweisung –
Bitte geben Sie mir Beispiel – Avinash
siehe meine Antwort, ich denke, es wird funktionieren –