Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tạo bảng không thành công với Ràng buộc khóa nước ngoài được định dạng không chính xác

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;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.sql.SQLException:Không có cơ sở dữ liệu nào được chọn

  2. Làm thế nào để thêm cột bằng cách sử dụng thay đổi trong mysql?

  3. JSON_LENGTH () - Trả về độ dài của tài liệu JSON trong MySQL

  4. cách tìm nạp nhiều tập kết quả từ một thủ tục được lưu trữ mysql trong laravel

  5. định dạng ngày tháng trong node.JS