And*_*rew 4 drupal primary-key drupal-schema
我有这个架构,我需要定义两个主键; 一个是Drupal的'vid'字段,另一个是我的网站'bid'字段,它是自动增量类型,反过来要求它是主键:wtherwise我得到MySQL错误.我在查找Drupal模式中定义多个主键的语法时遇到了麻烦.如果有人可以帮我解决语法问题,我非常感谢.
$schema['rft'] = array(
'fields' => array(
'vid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'nid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'bid' => array(
'type' => 'serial',
'size' => 'medium',
'not null' => TRUE,
),
),
'indexes' => array(
'nid' => array('nid'),
),
'primary key' => array('vid'), //array('vid','bid') doesn't work
);
return $schema;
}
Run Code Online (Sandbox Code Playgroud)
使用以下工作对我来说很好.也许这是MySQL版本特有的限制?你可以报告Drupal试图创建这个表时得到的实际错误消息吗?
$schema['rft'] = array(
'fields' => array(
'vid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'nid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'bid' => array(
'type' => 'serial',
'size' => 'medium',
'not null' => TRUE,
),
),
'indexes' => array(
'nid' => array('nid'),
),
'primary key' => array('vid', 'bid'),
);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3880 次 |
最近记录: |