Многочисленные первичные ключи в схеме
-
29-09-2019 - |
Вопрос
У меня есть эта схема, которую мне нужно определить два основных ключа; Одним из них является поле «VID» Drupal, а другой - это поле моего сайта «PINT», который имеет тип автоматического приращения, который, в свою очередь, требует, чтобы он был первичным ключом: WTHERWIES я получаю ошибку 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;
}
Решение
Использование следующего сработало для меня отлично. Может быть, это ограничение 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