Если у меня есть хранимая процедура, которая создает временную таблицу X каждый раз при ее запуске, есть способ запуска хранимой процедуры с каким-то уникальным идентификатором сеанса, так что когда пользователь A запускает хранимую процедуру и создает временную таблицу X, тогда, когда человек B запускает ту же процедуру, он также не создает временную таблицу X, а затем сбой.
Я в основном хочу иметь процедуру, которая что-то делает, но я хочу, чтобы люди с muluple запускали одну и ту же процедуру одновременно с отсутствием процедуры, поскольку временные таблицы уже созданы. Просто интересно, есть ли что-то, что я могу сделать с переменными сеанса в MySQL, или, возможно, использовать информацию о подключении кого-либо, чтобы сделать сеанс уникальным для каждого человека, выполняющего эту процедуру. Возможно, каждый раз создается таблица X_session_ID. Есть ли способ создать уникальный идентификатор в хранимой процедуре?Уникальная сессия MySQL для выполнения хранимой процедуры
0
A
ответ
0
Вы можете создать необходимую временную таблицу с помощью CREATE TEMPORARY TABLE
, которая предотвратит конфликты имен между пользователями, не прибегая к генерации уникальных идентификаторов;
Временные таблицы
Вы можете использовать ключевое слово TEMPORARY при создании таблицы. Таблица ВРЕМЕНИ видна только текущему соединению и автоматически отбрасывается при закрытии соединения. Это означает, что два разных соединения могут использовать одно и то же имя временной таблицы, не конфликтуя друг с другом или с существующей таблицей без тегов с тем же именем.
Смежные вопросы
- 1. Проблема выполнения хранимой процедуры
- 2. Как просмотреть план выполнения хранимой процедуры mysql?
- 3. Mysql хранимой процедуры во время выполнения
- 4. Сохранение выполнения хранимой процедуры
- 5. время выполнения хранимой процедуры
- 6. хранимой процедуры MSSQL для MYSQL
- 7. Проблема для выполнения файла хранимой процедуры mysql в phpmyadmin
- 8. Параметры хранимой процедуры MySQL
- 9. Ускорение хранимой процедуры MySQL
- 10. хранимой процедуры, если MySQL
- 11. Переменная хранимой процедуры MySQL
- 12. Ошибка выполнения хранимой процедуры Oracle
- 13. Консолидация хранимой процедуры mysql
- 14. Создание хранимой процедуры - MySQL
- 15. Синтаксис хранимой процедуры MySQL
- 16. синтаксис хранимой процедуры mysql
- 17. Общая оболочка для выполнения хранимой процедуры
- 18. Оракул для каждой хранимой процедуры время выполнения
- 19. Основа сущности для выполнения хранимой процедуры строки
- 20. Время выполнения хранимой процедуры различно
- 21. Класс Python Mysql для вызова хранимой процедуры
- 22. Время хранимой процедуры хранимой процедуры MySQL при вызове с C#
- 23. MySQL репликации, игнорирования хранимой процедуры
- 24. Уникальная вставка SQL Server из хранимой процедуры не работает
- 25. Вызов хранимой процедуры из хранимой процедуры в MySQL
- 26. Mysql хранимой процедуры с Еогеаспом
- 27. MySQL ошибка синтаксиса хранимой процедуры:
- 28. mysql ошибка синтаксиса хранимой процедуры
- 29. MySql вызов хранимой процедуры ошибки
- 30. Строковый объект, возвращаемый после выполнения хранимой процедуры в node-mysql
Спасибо. Я использую следующий CREATE TEMPORARY TABLE search_columns_temp1 как часть моей процедуры. Поэтому каждый раз, когда выполняется процедура, создается эта временная таблица. Означает ли это, что когда человек A подключается, выполняется процедура, и человек B подключается и выполняет ту же процедуру одновременно, возможно, что две таблицы search_columns_temp1 создаются в одной базе данных? – user1236443
@ user1236443 Да, но ни один пользователь не может видеть временную таблицу другого пользователя, оба могут иметь таблицу с тем же именем и видеть только свои собственные. –
Я думаю, что проблема в том, что хранимая процедура имеет определенные привилегии, была определена мной и имеет тенденцию работать как я (то есть SQL SECURITY DEFINER). Поэтому каждый раз, когда эта процедура выполняется, она запускается под моими данными. Это было сделано для того, чтобы я не дал многим пользователям такую же привилегию просто для запуска этой одной процедуры. Работает ли временная таблица? Основано на соединении? или если он запускается под меня все время, будет ли он терпеть неудачу, потому что временная таблица уже создана? – user1236443