Создать внешний ключ

146
21 февраля 2021, 22:00

Не понимаю в чём может быть проблема. Есть две таблицы. Ниже фото:

Нужно сделать внешний ключ из таблицы Users на таблицу t_koatuu_tree.

В таблице Users поле territory_id char(10), а в таблице t_koatuu_tree поле ter_id char(10).

Пишу такой запрос

ALTER TABLE Users ADD CONSTRAINT fk_tr_id FOREIGN KEY (territory_id) REFERENCES t_koatuu_tree(ter_id);

Но выдаёт ошибку (ERROR 1215 (HY000): Cannot add foreign key constraint )

В чём может быть проблема?

Answer 1

Я нашёл решение данной проблемы.

Нужно посмотреть кодировку той таблицы, на которую хотите сослаться. При создании другой таблицы я просто в конце добавил нужную кодировку (чтобы они совпадали):

create table Users(
    -> id INT(11) primary key NOT NULL,
    -> fio varchar(255),
    -> email varchar(50),
    -> territory_id char(10) NOT NULL
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

И теперь при добавлении внешнего ключа, всё успешно добавляется :)

READ ALSO
Как создать MockMultipartFile в нужной директории?

Как создать MockMultipartFile в нужной директории?

Для тестирования контроллеров использую

149
сохранить фото после вызова imageIntent

сохранить фото после вызова imageIntent

Учусь использовать камеру в Android studio, научился запускать камеру и отображать миниатюру, а вот сохранить фото не получается, перепробовал...

113
java. socket - ObjectInputStream

java. socket - ObjectInputStream

Я создаю сервер и клиента на сокете и хочу чтоб они обменивались объектами

104