2016-10-14 4 views
2

Im пытается создать процедуру для моей базы данных через миграции в Laravel 5.3. Пользователь базы данных apptutor_usr имеет привилегии суперпользователя. Код для моей процедуры, как показано ниже:Проблема с процедурой в Laravel 5.3

CREATE DEFINER=` 
    [email protected]` PROCEDURE `signup_update` (IN `s_name` VARCHAR 
    (50) , IN `s_displaypicture` VARCHAR(100)) BEGIN SET @uid = (SELECT student_p 
    arent_id                  
    FROM student_parent               
    WHERE email = s_email) ;                               
    END 

Но это дает мне ошибку ниже

String '[email protected]' is
too long for user name (should be no longer than 16)

Дело в том, я не могу иметь пользователя меньше, чем 16 символов, как CPanel мой хостинг уже есть «apptutor_» предварительно установлен заранее.

+0

Вы пытались создать его с помощью менеджера баз данных? Может быть, новая строка до 'apptuto ...' является проблемой? – xpuc7o

+0

Нет новой строки, ошибка отступа во время публикации в stackoverflow –

+0

Определитель должен быть '' user '@' host'', поэтому '' apptutor_usr '@' 68.65.120.22''. Цитаты вместо тиков, и вам нужно разделить каждую сторону. http://dev.mysql.com/doc/refman/5.7/en/create-procedure.html – aynber

ответ

1

Вы неправильно определить имя пользователя, используйте 'username'@'host' формат:

CREATE DEFINER='apptutor_usr'@'68.65.120.22' ... 

На самом деле, ваше имя пользователя только 'apptutor_usr', а не весь 'apptutor_usr'@'68.65.120.22'.

+0

Я тоже пробовал это, ошибка, которую я получаю с этим: 'Синтаксическая ошибка или нарушение доступа: 1227 Доступ запрещен; вам необходимо (по крайней мере, одно из) привилегии SUPER для этой операции. –

+0

Это совершенно другой вопрос, который следует размещать отдельно. Btw сообщение об ошибке ясно: ваш пользователь (а не тот, который находится в определителе) нуждается в супер привилегии. – Shadow

+0

Позвольте мне выслать комментарий с указанной выше темы здесь: «Я действительно предоставил все привилегии этому пользователю, и когда я пытаюсь запустить команду thsi на терминале: mysql> SHOW GRANTS FOR 'apptutor_usr'@'68.65. 120,22' ; это просто требует бесконечного ожидания ». –

Смежные вопросы