Как сбросить поля в базе данных drupal 7 - PullRequest
0 голосов
/ 20 марта 2012

Мне нужно удалить несколько полей из таблицы в базе данных.Я вставил поля в таблицу menu_custom в базе данных drupal.Я хотел удалить эти поля, когда модуль отключен.Я использовал следующий код для удаления этих полей.

   function menu_clone_site_disable()
   {
    db_query("ALTER TABLE {menu_custom} DROP 'role'");
   }

Я получаю следующую ошибку.Я не знаю, что я делаю не так.Любая помощь в решении этой проблемы будет принята с благодарностью.

   PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have 
   an error in your SQL syntax; check the manual that corresponds to your MySQL 
   server version for the right syntax to use near ''pzcheck'' at line 1: 
   ALTER TABLE {menu_custom} DROP 'role'; Array ( ) in menu_clone_site_disable() 

Ответы [ 2 ]

2 голосов
/ 29 июня 2012

В идеале вы должны полагаться на db_drop_field (), чтобы ваш модуль оставался совместимым со всеми возможными параметрами базы данных:

function menu_clone_site_disable() {
  db_drop_field('menu_custom', 'role');
}
2 голосов
/ 20 марта 2012

Вы допустили крошечную ошибку ... Имя столбца не должно быть в кавычках:

db_query("ALTER TABLE {menu_custom} DROP role");
...