执行变量中存在的mysql查询

Avi*_*ash 6 mysql sql database

我有一个MySQL变量

@query = CONCAT('INSERT INTO history VALUES (',1,',',50,',UTC_TIMESTAMP()');
Run Code Online (Sandbox Code Playgroud)

我想执行变量中的insert语句.

mat*_*mmo 15

您必须首先使用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; 
Run Code Online (Sandbox Code Playgroud)