Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / MySQL Новый топик    Ответить
 InnoDB PHPmyadmin Вопрос по связям  [new]
dortmontbm
Member

Откуда:
Сообщений: 2
Здравствуйте!
Можно ли связывать поля с типом tinytext? У меня успешно связались все поля с типом int, а tinytext никак связываться не хочет. Возникает ошибка: foreign key constraint is incorrectly formed. Возможно ли это как нибудь решить?
5 фев 20, 00:54    [22073260]     Ответить | Цитировать Сообщить модератору
 Re: InnoDB PHPmyadmin Вопрос по связям  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 20016
dortmontbm
Можно ли связывать поля с типом tinytext?

Индекс по текстовому полю должен включать указание длины индексируемого префикса. Но его невозможно указать в REFERENCES...
Так что формально запретов нет, но синтаксис не позволит.

dortmontbm
Возможно ли это как нибудь решить?

Отделять префикс в вычисляемое поле типа VARCHAR. Либо считать хэш от него. И уже по такому полю связывать.
5 фев 20, 08:01    [22073339]     Ответить | Цитировать Сообщить модератору
 Re: InnoDB PHPmyadmin Вопрос по связям  [new]
miksoft
Member

Откуда:
Сообщений: 38000
https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html
Index prefixes on foreign key columns are not supported. Consequently, BLOB and TEXT columns cannot be included in a foreign key because indexes on those columns must always include a prefix length.


И вообще, внешний ключ по полю типа BLOB/TEXT очень похож на ошибку проектирования БД.

Сообщение было отредактировано: 5 фев 20, 08:35
5 фев 20, 08:35    [22073345]     Ответить | Цитировать Сообщить модератору
 Re: InnoDB PHPmyadmin Вопрос по связям  [new]
Alex_Ustinov
Member

Откуда: Nickel
Сообщений: 2956
dortmontbm,

"завести" поле id аутоинкремент и связывать по нему.
Все остальное - чуждо нормальной логике.
5 фев 20, 11:32    [22073499]     Ответить | Цитировать Сообщить модератору
 Re: InnoDB PHPmyadmin Вопрос по связям  [new]
dortmontbm
Member

Откуда:
Сообщений: 2
Всем большое спасибо! Проблему исправил!
5 фев 20, 16:28    [22074018]     Ответить | Цитировать Сообщить модератору
Все форумы / MySQL Ответить