MySQL не позволит мне добавить столбец - PullRequest
6 голосов
/ 10 ноября 2011

Это должен быть действительно простой процесс, но по какой-то причине я не могу добавить столбец в таблицу 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";
}

Я пробовал несколько небольших изменений, таких как добавление COLUMN в запрос после ADD. Нет ошибок MySQL, но он завершает работу сценария и выдает «не удалось».

Ошибка:

Команда ALTER запрещена для пользователя 'webuser' @ 'localhost'

Можно ли заблокировать таблицу от изменения?

1 Ответ

6 голосов
/ 10 ноября 2011

У вас нет прав для этого.

Убедитесь, что у вас есть привилегия alter для этой таблицы.

Попросите суперпользователя (root) выполнить следующее:

GRANT ALTER ON dbname.game_licences TO `webuser`@`localhost` 

См .: http://dev.mysql.com/doc/refman/5.1/en/grant.html.

P.S. Вы уверены, что хотите, чтобы обычные пользователи могли выдавать операторы alter?
Лучшим вариантом может быть выдать оператор alter от имени root или, что еще лучше, создать учетную запись администратора, которая имеет полные права на базу данных, но не полные права на любую другую базу данных.

...