Я пытаюсь связать две таблицы вместе с помощью внешнего ключа в MySQL. Таблица CLIENTS должна быть привязана к другой таблице (BIDS) с атрибутом идентификатора клиента.Создание внешних ключей в MySQL
CREATE TABLE CLIENTS (
CLIENTID NUMERIC(3) NOT NULL,
FOREIGN KEY(CLIENTID) REFERENCES BIDS(CLIENTID),
PRIMARY KEY(CLIENTID, EMAILADDRESSES,PHONENUMBERS,CONTACTS)
);
Однако MySQL возвращает эту ошибку, когда я пытаюсь выполнить код.
# 1005 - Не удается создать таблицу «клиентов» (ERRNO: 150)
Это не кажется, что ошибка синтаксиса, так что кто-нибудь знает, что вызывает проблему или как можно Я чиню это?
Возможный дубликат [MySQL Создание таблиц с внешними ключами, дающих errno: 150] (http://stackoverflow.com/questions/1457305/mysql-creating-tables-with-foreign-keys-giving-errno-150) –
Ваш пример выглядит неполным для меня: как вы можете поместить столбцы 'EMAILADDRESSES',' PHONENUMBERS', 'CONTACTS' в первичный ключ, если у вас нет этих столбцов в таблице? –
Каков тип данных для BIDS (CLIENTID)? Наиболее распространенная причина для errno 150 заключается в том, что тип данных FK не соответствует типу данных PK, на который он ссылается. –