Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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_Stored Procedures_Temp Tables - Fatal编程技术网

如何在MySQL过程中创建唯一的临时表?

如何在MySQL过程中创建唯一的临时表?,mysql,stored-procedures,temp-tables,Mysql,Stored Procedures,Temp Tables,我在我的过程中创建了一个临时表,但我总是得到一个错误“表已经存在” 然后我尝试创建一个随机名称以避免冲突,但我对如何执行SQL字符串知之甚少 SET @tbName = CONCAT('temp', random_id); PREPARE stmt1 FROM 'CREATE TEMPORARY TABLE ? (`FIELDNAME` float NOT NULL);'; EXECUTE stmt1 using @tbName; DEALLOCATE PREPARE stmt1; 上面的代

我在我的过程中创建了一个临时表,但我总是得到一个错误“表已经存在”

然后我尝试创建一个随机名称以避免冲突,但我对如何执行SQL字符串知之甚少

SET @tbName = CONCAT('temp', random_id);

PREPARE stmt1 FROM 'CREATE TEMPORARY TABLE ? (`FIELDNAME` float NOT NULL);';
EXECUTE stmt1 using @tbName;
DEALLOCATE PREPARE stmt1;
上面的代码不起作用。为什么?如何纠正

 mysql> set @table_name := 'mytable';
 Query OK, 0 rows affected (0.02 sec)

 mysql> set @sql_text:=concat('create table ',@table_name,'(id int unsigned)');
 Query OK, 0 rows affected (0.00 sec)