实用SQL代码

SQL代码直接对数据库进行操作,在实现一些特别的功能特别是站点站点设置往往是非常简单有效的。下面SQL代码段都是Drupal用户提交的在实际应用中的代码,如果您也有一些简单有效的SQL代码,欢迎在这里和大家分享(可以在论坛提出,也可以在下面发表评论,请注明您的代码适用的Drupal版本号)。

注意:这些代码都是由用户提交,并没有经过仔细测试。在使用下面的代码前,请尽量仔细阅读代码并理解它是如何工作的;至少要先把您的站点的数据库备份,以免带来不必要的损失。

启用或关闭模块

有时候您可能需要通过数据库操作来启用或关闭模块,比如使用了有问题的模块时。

使用下面的SQL代码开启名字为"example"的模块:

UPDATE `system` SET status=1 WHERE name='example';

使用下面的SQL代码关闭名字为"example"的模块:

UPDATE `system` SET status=0 WHERE name='example';

清除Drupal缓存

在重装、转移或升级站点时,或者在站点开发测试时,往往需要清除Drupal缓存,以避免一些不必要的问题并及时看到站点的更新。清除缓存本身并不会破坏你的站点,也并不会丢失数据,最多使站点暂时变得较慢,当Drupal缓存重新建立后,你的站点速度也会恢复。下面的SQL代码可以用来清除Drupal缓存。

DELETE FROM cache;

(您也可以下载devel模块,这个模块提供了一些开发常用的工具,包括清除缓存按钮。)

重置第一个用户(超级用户)的密码

如果您忘记了超级用户的密码(uid=1),而通过emaili重置密码又不工作时,可以通过下面的数据库操作重置密码:

UPDATE `users` SET `pass` = MD5('mynewpassword') WHERE `uid` =1 LIMIT 1;

用您的新密码替换上面的mynewpassword就可以了。