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

Điều gì sai với câu lệnh tạo bảng này?

Các câu trả lời trước là đúng. Bạn cũng gặp các vấn đề khác (ví dụ:bạn không thể có DOUBLE lớn như vậy; max =255).

Bạn có vấn đề, anh bạn.

Đây là một ví dụ đơn giản mà có lẽ bạn có thể mở rộng. Nó có hai bảng với mối quan hệ nhiều-nhiều giữa chúng. Bảng tham gia có hai khóa ngoại. Nó hoạt động trong MySQL - Tôi vừa tạo cơ sở dữ liệu và thêm các bảng này.

use stackoverflow;

create table if not exists stackoverflow.product
(
    product_id int not null auto_increment,
    name varchar(80) not null,
    primary key(product_id)
);

create table if not exists stackoverflow.category
(
    category_id int not null auto_increment,
    name varchar(80) not null,
    primary key(category_id)
);

create table if not exists stackoverflow.product_category
(
    product_id int,
    category_id int,
    primary key(product_id, category_id),
    constraint product_id_fkey
        foreign key(product_id) references product(product_id)
        on delete cascade
        on update no action,
    constraint category_id_fkey
        foreign key(category_id) references category(category_id)
        on delete cascade
        on update no action
);

insert into stackoverflow.product(name) values('teddy bear');
insert into stackoverflow.category(name) values('toy');
insert into stackoverflow.product_category
    select p.product_id, c.category_id from product as p, category as c
    where p.name = 'teddy bear' and c.name = 'toy';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WAMP bỏ qua my.ini

  2. gặp lỗi - SQLSTATE [21000]:Vi phạm bản số:1241 Toán hạng phải chứa 1 (các) cột

  3. Hiển thị các giá trị từ bảng cơ sở dữ liệu MySQL bên trong bảng HTML trên trang web

  4. Chức năng trang web bị xáo trộn hoặc bị tấn công

  5. Tại sao mysqli_real_escape_string có đối tượng kết nối làm tham số đầu tiên