Saya telah menerima pesan ini berkali-kali saat menggunakan alat pihak ke-3 untuk membuat tabel dan kemudian membatasi tabel yang ada. Itu salah satu dari dua hal:
int
kolom memiliki ukuran yang berbedaint
kolom memiliki bendera yang berbeda (tanpa AUTO_INCREMENT)
Sebagai contoh, saya membuat tabel dengan alat yang entah bagaimana membuat kolom sebagai INT(10)
alih-alih INT(11)
yang diharapkan . Padahal saya baru saja memilih INT
saat membuat keduanya, semuanya kacau - tidak pernah dilacak alasannya.
Singkat cerita, biasanya yang terbaik adalah secara eksplisit menyatakan INT
ukuran saat membuat tabel.
Dalam kasus Anda, berikut ini akan berfungsi:
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;