我在我的过程中创建了一个临时表,但我总是得到一个错误“表已经存在”。
然后我尝试创建一个随机名称以避免冲突,但我对如何执行 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)
来自 http://rpbouman.blogspot.com/2005/11/mysql-5-prepared-statement-syntax-and.html
关于mysql - 如何在 MySQL 程序中创建唯一的临时表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2044404/