Drupal 7 模块开发 创建自定义表(table) (hook_schema)

本文介绍了在Drupal 7中如何通过hook_schema创建自定义数据库表,包括表的描述、字段定义、主键、唯一键、外键和索引的设置。在模块激活和卸载时,表会自动创建和删除。详细讲解了字段的各个属性,如type、size、not null、default等,并提供了日期型和自增型字段的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

建立模块请参考 《Drupal 7 模块开发 建立

如果你要支持中文,文件格式必须保存为 UTF-8,NO BOM

------------------------------

要为自己模块建立一个单独的表(table),需要用到 hook_schema

(当模块激活(enabled),就会建立自动建立表,当卸载的时候会自动删除,这和Drupal 6不同,不需要在 hook_install 调用 drupal_install_schema('tablename'),和 hook_uninstall 调用 drupal_uninstall_schema('myform')

首先建立一个文件 my_first_module.install,我们需要建立一个如下表


表名称:myform

写入以下代码:

function my_first_module_schema() {
  $schema['myform'] = array(
    'description' => '第一个表单',
    'fields' => array(
      'id' => array(
        'type' => 'serial',
        'unsigned' => true,
        'not null' => true,
        'description' => '自增主键'
      ),
      'title' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => true,
        'default' => '',
        'description' => '标题',
      ),
      'fullname' => array(
        'type' => 'varchar',
        'length' => 64,
        'not null' => true,
        'default' => '',
        'description' => '姓名',
      ),
      'email' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => true,
        'default' => '',
        'description' => '电子邮件',
      ),
      'body' => array(
        'type' => 'text',
        'not null' => false,
        'size' => 'big',
        'serialize' => true,
        'description' => '留言内容',
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值