私はMySQL変数を持っています
@query = CONCAT('INSERT INTO history VALUES (',1,',',50,',UTC_TIMESTAMP()');
変数に存在する挿入ステートメントを実行したい。
最初にステートメントを使用して準備しPREPARE
、次に使用する必要がありますEXECUTE
ここを参照してください: http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html
何かのようなもの:
SET @query = CONCAT("INSERT INTO history VALUES (",1,",",50,",UTC_TIMESTAMP()");
PREPARE stmt1 FROM @query;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
Set @query = CONCAT("INSERT INTO history VALUES (",1,",",50,",UTC_TIMESTAMP()");
その後
PREPARE stmt_name FROM @query
そしてついに
EXECUTE stmt_name
CONCAT()を削除すると、文字列を他に何も連結しようとしないため、エラーを生成する以外は何もしません。