Tôi đã nhận được thông báo này nhiều lần khi sử dụng các công cụ của bên thứ 3 để tạo bảng và sau đó hạn chế các bảng hiện có. Đó là một trong hai điều:
-
int
các cột có kích thước khác nhau -
int
các cột có các cờ khác nhau (không có AUTO_INCREMENT)
Ví dụ:tôi đã tạo một bảng bằng một công cụ bằng cách nào đó tạo một cột là INT(10)
thay vì INT(11)
như mong đợi . Mặc dù tôi vừa chọn INT
khi tạo cả hai, nó bị lộn xộn - không bao giờ được tìm ra lý do tại sao.
Câu chuyện ngắn, nói chung là tốt nhất nên trình bày rõ ràng INT
kích thước khi tạo bảng.
Trong trường hợp của bạn, những điều sau sẽ hoạt động:
create table users (id int(11) not null auto_increment
, username varchar(255) NOT NULL
, password varchar(255) NOT NULL
, active int NOT NULL
, PRIMARY KEY (id))
ENGINE=InnoDB COLLATE=utf8_unicode_ci;
create table athing (id int(11) not null auto_increment
, name varchar(255) not null
, status varchar(255) not null
, created_by_user_id int(11) not null
, PRIMARY KEY (id)
, CONSTRAINT athing_fk1 FOREIGN KEY (created_by_user_id) REFERENCES users (id)
) ENGINE=InnoDB COLLATE=utf8_unicode_ci;