У меня чаще всего эта ошибка возникает, когда не совпадают размеры интовых значений ключей. 4) The column the constraint refers to is not of the same type or width as the foreign column.
Например, есть таблица books и books_images. В таблице books есть колонка id с типом int(11), а в таблице books_images есть колонка book_id с типом int(255). При создании внешнего ключа будет возникать эта ошибка. Для этого вам нужно book_id назначить int(11), или наоборот, чтобы тип и размер был одинаковым.
Также у обоих колонок должен либо стоять атрибут UNSIGNED, либо у обох отсутствовать.
4) The column the constraint refers to is not of the same type or width as the foreign column.
Например, есть таблица books и books_images. В таблице books есть колонка id с типом int(11), а в таблице books_images есть колонка book_id с типом int(255). При создании внешнего ключа будет возникать эта ошибка. Для этого вам нужно book_id назначить int(11), или наоборот, чтобы тип и размер был одинаковым.
Также у обоих колонок должен либо стоять атрибут UNSIGNED, либо у обох отсутствовать.