друпал и множественный первичный ключ - PullRequest
0 голосов
/ 03 апреля 2011

Я определил новый тип контента "statetype" и поле cck "state". Мне нужно поле состояния в качестве первичного ключа в этой таблице, потому что у меня есть другая таблица, и мне нужно поле состояния в качестве внешнего ключа. ( этот код и таблица не друпал, и я написал это сам, но связан с таблицей друпал ) поэтому я должен изменить поле состояния на первичный ключ в таблице «statetype», но drupal определил поле vid в этой таблице как первичный ключ. Есть ли проблема, если я определю несколько первичных ключей (VID, состояние) или если удалить первичный ключ VID?

1 Ответ

0 голосов
/ 04 апреля 2011

Использование полей БД с деловым значением в качестве первичных / внешних ключей никогда не является хорошей идеей.Вы должны всегда использовать какое-то поле id для этого.Если вы не будете придерживаться этого правила, у вас возникнут проблемы, как только ваш бизнес изменится.Затем вам нужно будет перенести первичные ключи, что намного сложнее, чем просто изменить и перенести некоторые другие данные.

В MySql самый простой способ - определить поле как int и автоинкремент.Используйте это поле идентификатора в качестве внешнего ключа.Обратный путь - ссылка на nid / vid друпального узла.

...