А-ч, ответ был моим 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>
По моему опыту, phpmyadmin не нравится использование delimiter //
в окне SQL-запроса. Вместо этого в phpmyadmin окне SQL-запроса существует текстовое поле "разделителя", содержание которого установлено на""; по умолчанию. Войдите "//" в это текстовое поле вместо""; и попытка Ваш запрос с delimiter //
и delimiter ;
строки опущены.
Неверный порядок. 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 ;
. Вы должны убедиться в следующем для quiz_users
forum_id
проиндексировано очков
не проиндексировано (Верно, я сказал, что не проиндексирован, потому что значение будет увеличиваться и заставит BTREE для индекса этого столбца перетасовать место этого ключа в индексе) . Если сценарий PHP повторяет значения парентида
и идентификатора пользователя
, БОЛЬШОЙ ОЧЕНЬ !!!
Это означает, что сеанс браузера выполняет туда и обратно для передачи каждого вызова хранимой процедуры.