如何在Drupal7的数据库中删除字段
我需要从数据库的表中删除几个字段。我在drupal数据库的菜单自定义表中插入了字段。我想在模块被禁用时删除这些字段。我使用以下代码删除这些字段如何在Drupal7的数据库中删除字段,drupal,drupal-7,drupal-modules,Drupal,Drupal 7,Drupal Modules,我需要从数据库的表中删除几个字段。我在drupal数据库的菜单自定义表中插入了字段。我想在模块被禁用时删除这些字段。我使用以下代码删除这些字段 function menu_clone_site_disable() { db_query("ALTER TABLE {menu_custom} DROP 'role'"); } 我得到以下错误。我不知道我做错了什么。我们将非常感谢您对解决此问题的任何帮助 PDOException: SQLSTATE[42000]: S
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()
您犯了最小的错误…列名不应在引号内:
db_query("ALTER TABLE {menu_custom} DROP role");
您犯了最小的错误…列名不应在引号内:
db_query("ALTER TABLE {menu_custom} DROP role");
理想情况下,您应该依赖db_drop_field(),以便您的模块与所有可能的数据库选项保持兼容:
function menu_clone_site_disable() {
db_drop_field('menu_custom', 'role');
}
理想情况下,您应该依赖db_drop_field(),以便您的模块与所有可能的数据库选项保持兼容:
function menu_clone_site_disable() {
db_drop_field('menu_custom', 'role');
}
非常感谢你,我的朋友:)非常感谢你,我的朋友:)