执行变量中存在的mysql查询
我有一个MySQLvariable执行变量中存在的mysql查询,mysql,sql,database,Mysql,Sql,Database,我有一个MySQLvariable @query = CONCAT('INSERT INTO history VALUES (',1,',',50,',UTC_TIMESTAMP()'); 我想执行变量中的insert语句。必须先使用prepare准备语句,然后使用execute 请看这里: 比如: SET @query = CONCAT("INSERT INTO history VALUES (",1,",",50,",UTC_TIMESTAMP()"); PREPARE stmt1 FR
@query = CONCAT('INSERT INTO history VALUES (',1,',',50,',UTC_TIMESTAMP()');
我想执行变量中的insert语句。必须先使用
prepare
准备语句,然后使用execute
请看这里:
比如:
SET @query = CONCAT("INSERT INTO history VALUES (",1,",",50,",UTC_TIMESTAMP()");
PREPARE stmt1 FROM @query;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;
然后
PREPARE stmt_name FROM @query
最后
EXECUTE stmt_name
删除CONCAT(),它除了生成错误之外什么都不做,因为它试图将字符串与其他内容连接起来。我收到了这个错误#1064-您的SQL语法有错误;查看与MySQL服务器版本对应的手册,了解第2行“EXECUTE stmt_name”附近使用的正确语法,然后如何恢复由该已执行查询创建的新记录Id?请参阅我的答案,我认为它将起作用它实际上包含5个元素,不会有任何错误=>你的答案不好->不要回答已经回答的问题-查看
新建部分,展示你的技能:)不合逻辑的答案。
EXECUTE stmt_name