Php Laravel 5.3中的程序故障
我试图通过Laravel 5.3中的迁移为我的数据库创建一个过程。数据库用户“apptutor_usr”具有超级用户的权限。 我的程序代码如下所示:Php Laravel 5.3中的程序故障,php,mysql,laravel,stored-procedures,Php,Mysql,Laravel,Stored Procedures,我试图通过Laravel 5.3中的迁移为我的数据库创建一个过程。数据库用户“apptutor_usr”具有超级用户的权限。 我的程序代码如下所示: CREATE DEFINER=` apptutor_usr@68.65.120.22` PROCEDURE `signup_update` ( IN `s_name` VARCHAR ( 50 ) , IN `s_displaypicture` VARCHAR( 100 ) ) BEGIN SET @uid = ( SELEC
CREATE DEFINER=`
apptutor_usr@68.65.120.22` 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
但这给了我一个错误如下
字符串“apptutor”_usr@68.65.120.22'是用户名太长(长度不应超过16)
问题是我的用户不能少于16个字符,因为我的主机的cpanel已经预先设置了“apptutor”。如果用户名定义不正确,请使用
'username'@'host'
格式:
CREATE DEFINER='apptutor_usr'@'68.65.120.22' ...
实际上,您的用户名只是
'apptutor\u usr'
,而不是整个'apptutor\u usr'@'68.65.120.22'
您是否尝试使用某个数据库管理器创建它?可能是apptuto之前的新行…有问题?在StackOverflow上过帐时没有新行,缩进错误定义者应该是'user'@'host'
,所以'apptutor\u usr'@'68.65.120.22'
。引号而不是勾号,并且需要将每边分开@aynber我实际上也试过了,它给出了这个错误:语法错误或访问冲突:1227访问被拒绝;此操作需要(至少一个)超级权限
,该错误表示语法正常,但用户不正常。因此,要么给你的用户超级权限,要么使用一个有超级权限的用户。我也尝试过,我得到的错误是:语法错误或访问冲突:1227访问被拒绝;此操作需要(至少一个)超级权限
这是一个完全不同的问题,应单独发布。顺便说一句,错误信息很清楚:您的用户(不是定义中的用户)需要超级权限。让我也在这里发布上述线程中的评论:“我实际上已将所有权限授予此用户,并且当我尝试在终端上运行thsi命令时:mysql>为'apptutor_usr'显示权限@'68.65.120.22';请再看一次我上面的评论,我没有什么要补充的。这个问题得到了回答。