Mysql中的TEMPORARY表

时间:2012-05-24 10:47:44

标签: mysql

如果两个用户使用PHP脚本在我的mysql数据库中同时创建两个TEMPORARY表,它会创建两个不同的表吗?这些用户可以使用他们自己的表而不会遇到任何麻烦,这些表会被自动删除吗?

谢谢:)

CREATE TEMPORARY TABLE TempTable ( ID int, Name char(100) ) TYPE=HEAP;
INSERT INTO TempTable VALUES( 1, "Foo bar" );
SELECT * FROM TempTable;
DROP TABLE TempTable;

3 个答案:

答案 0 :(得分:3)

the manual中所述:

  

TEMPORARY表仅对当前连接可见,并在关闭连接时自动删除。这意味着两个不同的连接可以使用相同的临时表名,而不会相互冲突或与现有的同名非TEMPORARY表冲突。 (在删除临时表之前,现有表是隐藏的。)

答案 1 :(得分:2)

在当前会话中创建临时表;所以,两个用户可以创建两个temp。表格同时在他们的主题中。这些表格将在会议结束时删除。

答案 2 :(得分:1)

您可以在此查询中使用[IF NOT EXISTS] ... reference