这应该是一个非常简单的过程,但无论出于何种原因,我都无法在MySQL表中添加列.这是我的语法:
$query = "ALTER TABLE game_licenses ADD lifetime VARCHAR(255) AFTER expire_date";
$result = mysql_query($query);
if (!$result) {
echo "it failed";
}
else {
echo "success";
}
Run Code Online (Sandbox Code Playgroud)
我尝试过多次微小的更改,例如在ADD之后将COLUMN添加到查询中.没有MySQL错误,但完成了脚本和回声"它失败了".
错误是:
ALTER命令被拒绝用户'webuser'@'localhost'
是否可以锁定表格?
您没有这样做的权限.
确保您拥有该alter表的权限.
让超级用户(root)执行以下操作:
GRANT ALTER ON dbname.game_licences TO `webuser`@`localhost`
Run Code Online (Sandbox Code Playgroud)
请参阅:http://dev.mysql.com/doc/refman/5.1/en/grant.html.
PS您确定要普通用户能够发表alter声明吗?
更好的选择可能是以root身份发出alter语句,甚至更好地创建一个对数据库拥有完全权限的管理员帐户,但不能创建任何其他数据库的完全权限.