Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
执行变量中存在的mysql查询_Mysql_Sql_Database - Fatal编程技术网

执行变量中存在的mysql查询

执行变量中存在的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

我有一个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 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