我有一个MySQL变量
@query = CONCAT('INSERT INTO history VALUES (',1,',',50,',UTC_TIMESTAMP()');
我想执行变量中的insert语句。
答案 0 :(得分: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;
答案 1 :(得分:2)
Set @query = CONCAT("INSERT INTO history VALUES (",1,",",50,",UTC_TIMESTAMP()");
然后
PREPARE stmt_name FROM @query
最后
EXECUTE stmt_name
答案 2 :(得分:-2)
删除CONCAT(),除了生成错误之外它没有做任何事情,因为它试图连接一个字符串而没有别的。