スキーマ内の複数の主要なキー
-
29-09-2019 - |
質問
2つの主要なキーを定義する必要があるこのスキーマがあります。 1つはDrupalの「Vid」フィールドで、もう1つは私のサイト「入札」フィールドです。これは、主要なキーであることを必要とする自動増分タイプです。 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;
}
解決
以下を使用すると、私にとってはうまくいきました。多分それは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'),
);
所属していません StackOverflow