0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 32
|
|
1 | |
Добавления внешнего ключа07.12.2015, 16:31. Показов 2050. Ответов 4
Метки нет (Все метки)
Здравствуйте.
У меня имеется две таблицы, хочу к ним добавить внешний ключ. mysql> desc my_con; +------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+----------------+ | id_contact | int(11) | NO | PRI | NULL | auto_increment | | last_name | varchar(30) | YES | | NULL | | | first_name | varchar(30) | NO | | NULL | | | email | varchar(50) | YES | | NULL | | | gender | char(1) | YES | | NULL | | | birth | date | YES | | NULL | | | prof | int(11) | NO | | NULL | | +------------+-------------+------+-----+---------+----------------+ 7 rows in set (0.00 sec) mysql> desc profession; +------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+----------------+ | prof_id | int(11) | NO | PRI | NULL | auto_increment | | profession | varchar(50) | YES | | NULL | | +------------+-------------+------+-----+---------+----------------+ mysql> ALTER TABLE my_con -> add constraint profession_prof_id_fk -> foreign key(prof) -> references profession(prof_id); Видает ошибку : ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails //Не может добавить или обновить (`greg`.`#sql-dc_1`, CONSTRAINT `profession_prof_id_fk` FOREIGN KEY (`prof`) REFERENCES `profession` (`prof_id`)) В чем проблема, создаю другие (простые) таблицы все нормально ? Заранее спасибо
0
|
07.12.2015, 16:31 | |
Ответы с готовыми решениями:
4
Добавление внешнего ключа Запрос с использованием внешнего ключа #1215 - Невозможно добавить ограничения внешнего ключа Как называется ограничение внешнего или уникального ключа по умолчанию? |
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
07.12.2015, 16:50 | 2 |
Если у тебя таблица my_con уже заполнена данными, то данные в колонке prof должны соответствовать данным колонки prof_id.
1
|
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 32
|
|
14.12.2015, 16:56 [ТС] | 3 |
назрел ещё вопрос по внешнему ключу.
Связь многие ко многим выбрасывает такую ошибку: ERROR 1022 (23000): Can't write; duplicate key in table '#sql-a0_2' Проверил всю схему дубликата нет, поменял на всякий случай имена колонок связующей таблицы Теперь так > ERROR 1022 (23000): Can't write; duplicate key in table '#sql-a0_3' Заранее спасибо
0
|
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
14.12.2015, 17:03 | 4 |
0
|
0 / 0 / 0
Регистрация: 12.02.2015
Сообщений: 32
|
|
16.12.2015, 16:56 [ТС] | 5 |
1 таблица
+------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+----------------+ | id_contact | int(11) | NO | PRI | NULL | auto_increment | | last_name | varchar(30) | YES | | NULL | | | first_name | varchar(30) | NO | | NULL | | | email | varchar(50) | YES | | NULL | | | gender | char(1) | YES | | NULL | | | birth | date | YES | | NULL | | | prof | int(11) | NO | MUL | NULL | | | zip_code | int(11) | NO | MUL | NULL | | | status | int(11) | NO | MUL | NULL | | +------------+-------------+------+-----+---------+----------------+ ________________________________________________________________________________ _________- 2 таблица +------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+----------------+ | seeking_id | int(11) | NO | PRI | NULL | auto_increment | | seeking | varchar(20) | YES | | NULL | | +------------+-------------+------+-----+---------+----------------+ ________________________________________________________________________________ _________- Соединительная таблица +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | cd | int(11) | NO | | NULL | | | sd | int(11) | NO | | NULL | | +-------+---------+------+-----+---------+-------+ Вроде должно соединится ...
0
|
16.12.2015, 16:56 | |
16.12.2015, 16:56 | |
Помогаю со студенческими работами здесь
5
Каким образом можно настроить автозаполнение в mysql значения внешнего ключа в другой таблице? Как отключить на время и после включить ограничение внешнего ключа в таблице СУБД MySQL? SELECT данных в реляционной базе MySQL с выводом данных внешнего ключа Когда для одного внешнего ключа установлено значение, то для другого установить null Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |