2012-03-20 98 views
0

我需要從數據庫中的表中刪除幾個字段。我在drupal數據庫的menu_custom表中插入了字段。我想在模塊禁用時刪除這些字段。我使用下面的代碼來刪除這些字段。如何刪除drupal數據庫中的字段7

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() 

回答

1

理想情況下,你應該依靠db_drop_field(),使您的模塊保持兼容所有可能的數據庫選項:

function menu_clone_site_disable() { 
    db_drop_field('menu_custom', 'role'); 
} 
2

你所做的最微小的錯誤...列名不應該引號內:

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

非常感謝我的朋友.. :) – H4v0cCr8oR 2012-03-20 11:55:08