Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте.
Попытался выполнить команду сабжа для одной таблицы. После этого любые запросы возвращают текст "Commands out of sync; you can't run this command now". Лечится реконнектом. Нормальное ли это поведение?
Что я мог не учесть? Может в настройках что-нибудь ещё изменить?
Неактивен
Какая у Вас конфигруация железа? Сколько памяти, сколько swap? Что выдает команда \s после данной операции (какой аптайм mysql-сервера)
Неактивен
проц - Intel Xeon 2.66(2.66),
оперативки - 2Gb
Виртуальная - 2046-4092Мб
Про аптайм не понял
И никакие команды не работают. Набираю случайную казябазю из букв, никаких сообщений об ошибках синтаксиса, только out of sync.
Отредактированно Lem0nti (22.05.2008 11:09:47)
Неактивен
Какой у Вас клиент? Если собственный, использующий C library, то после выполнение запроса, Вам необходимо считать результат. До того, как Вы считаете результат, Вы не можете выполнять новый запрос. То есть после mysql_query() необходимо выполнить mysql_store_result()
http://dev.mysql.com/doc/refman/5.1/en/ … esult.html
Неактивен
Это с любыми клиентами будет.
Пример на PHP.
http://habrahabr.ru/blog/webdev/37188.html
Неактивен
EugeneTM написал:
Это с любыми клиентами будет.
Пример на PHP.
http://habrahabr.ru/blog/webdev/37188.html
На самом деле только с некоторыми. Если на PHP использовать стандартные функции mysql_connect(), mysql_query(), то загрузка результата запроса не требуется, а вызов процедуры, возвращающей множественный resultset приведет к ошибке. В приведенном Вами примере используется объект mysqli.
Неактивен
Если нужно использовать хранимые процедуры, то лучше mysqli.
Это так - ИМХО.
Неактивен