0
如果我有一個創建它運行臨時表X每次一個存儲過程,有沒有一種方式來運行帶有某種獨特的會話ID的存儲過程,這樣,當人一運行存儲過程,它創建臨時表X,然後當人B運行相同的過程時,它不會創建臨時表X,然後崩潰。
我基本上是想有做了一個程序,但我想muluple人在同一時間運行同樣的程序,用了,因爲臨時表已創建的程序故障切換。只是想知道是否有什麼我可以用MySQL中的會話變量來做的,或者可能使用某人的連接信息來爲運行該過程的每個人創建一個獨特的會話。也許每次都創建表X_session_ID。有沒有辦法在存儲過程中生成唯一的ID?MySQL的唯一會話運行存儲過程
感謝。我使用以下CREATE TEMPORARY TABLE search_columns_temp1作爲我的過程的一部分。所以每次運行該過程時,都會創建該臨時表。那麼這是否意味着當人A連接時,運行程序,並且人B可能同時連接運行同一個程序,那麼在一個數據庫上創建兩個search_columns_temp1表? – user1236443 2013-04-22 10:56:43
@ user1236443是的,但是用戶都不能看到其他用戶的臨時表,它們都可以有一個同名的表並且只能看到他們自己的表。 – 2013-04-22 10:58:57
我認爲我存在的問題是存儲過程具有特定的權限,已由我定義,並傾向於以我身份運行(即SQL安全定義器)。所以每次運行這個程序時,它都在我的細節下運行。這樣做是爲了讓我不必爲了運行這一個過程而給許多用戶相同的特權。臨時表是否仍然有效?基於連接?或者如果它始終在我之下運行,它是否會因爲臨時表已創建而失敗? – user1236443 2013-04-22 11:00:03