我有一个使用临时表的 MySQL 存储过程。假设我的表名称是“temp”,我用它来存储一些中间数据。它将在程序开始时创建,并在程序结束时删除。
CREATE PROCEDURE p()
BEGIN
CREATE TEMPORARY TABLE \`temp\`(...);
INSERT INTO \`temp\` VALUES(...);
DROP TEMPORARY TABLE \`temp\`;
END;
问题是这个存储过程可能被不同的用户同时使用,所以我想知道这是否会导致任何问题(即临时表中插入的数据有任何冲突)。换句话说,临时表是对同一 SP 的不同调用中的共享资源吗?
不,临时表仅限于数据库连接的范围。您可以在同一数据库连接期间对过程的后续调用中使用临时表,但其他连接无法访问它。他们可以创建同名的表,但每个临时表都是独立的。当您关闭连接时,临时表就会消失。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)