簡體   English   中英

如何在MySQL程序中創建唯一的臨時表?

[英]How to create unique temporary tables in MySQL procedures?

我在我的程序中創建了一個臨時表,但我總是得到一個錯誤“表已經存在”。

然后我嘗試創建一個隨機名稱以避免沖突,但我不知道如何執行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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM