Добавление MySQL StoredProcedure вызывает не отвечающее состояние

А-ч, ответ был моим virtualhost, было плохо. Необходимый каталог, мм... директива..:

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    DocumentRoot C:\Development\xxx-projects\xxxx\web
    ServerName miai.local
    <Directory C:\Development\xxx-projects\xxxx\web>
        Order Deny,Allow
        Allow from 127.0.0.1
    </Directory>
</VirtualHost>
1
задан 8 January 2010 в 21:45
2 ответа

По моему опыту, phpmyadmin не нравится использование delimiter // в окне SQL-запроса. Вместо этого в phpmyadmin окне SQL-запроса существует текстовое поле "разделителя", содержание которого установлено на""; по умолчанию. Войдите "//" в это текстовое поле вместо""; и попытка Ваш запрос с delimiter // и delimiter ; строки опущены.

1
ответ дан 4 December 2019 в 02:16

НАБЛЮДЕНИЕ №1

Неверный порядок. DECLARE chpoint INT (5) должен быть после BEGIN , а не до

delimiter //
CREATE PROCEDURE updatePoints(IN parentid INT(5),IN userid INT(5))
BEGIN
 DECLARE chpoints INT(5);
 SELECT points INTO chpoints FROM quiz_challenges WHERE id = parentid;
 UPDATE quiz_users SET points = points + chpoints WHERE forumid=userid;
END;
//                                   
delimiter ;

НАБЛЮДЕНИЕ # 2

. Вы должны убедиться в следующем для quiz_users

  • forum_id проиндексировано
  • очков не проиндексировано (Верно, я сказал, что не проиндексирован, потому что значение будет увеличиваться и заставит BTREE для индекса этого столбца перетасовать место этого ключа в индексе) .

НАБЛЮДЕНИЕ №3

Если сценарий PHP повторяет значения парентида и идентификатора пользователя , БОЛЬШОЙ ОЧЕНЬ !!!

Это означает, что сеанс браузера выполняет туда и обратно для передачи каждого вызова хранимой процедуры.

0
ответ дан 4 December 2019 в 02:16

Теги

Похожие вопросы