Đối với những người tìm kiếm trong tương lai, tôi thấy rằng tôi gặp lỗi này khi sử dụng kết hợp MySQL Workbench và phpMyAdmin:nếu bạn 'sao chép SQL' từ danh sách bảng, nó sẽ thêm tên lược đồ vào tên bảng trong câu lệnh tạo (và trong các lệnh khóa ngoại có thể là một phần của nó).
Cẩn thận xóa tên lược đồ đã giải quyết vấn đề này cho tôi.
Ví dụ:
CREATE TABLE IF NOT EXISTS `schema`.`table1` (
...blah blah blah...
CONSTRAINT `fk_user_id`
FOREIGN KEY (`user_id` )
REFERENCES `schema`.`table1` (`id` )
...blah blah blah...
nên được đổi thành:
CREATE TABLE IF NOT EXISTS `table1` (
...blah blah blah...
CONSTRAINT `fk_user_id`
FOREIGN KEY (`user_id` )
REFERENCES `table1` (`id` )
...blah blah blah...