sql >> Database >  >> RDS >> Mysql

Wat is er mis met deze create table-instructie?

De eerdere antwoorden zijn waar. Je hebt ook andere problemen (je kunt bijvoorbeeld geen DUBBEL hebben die zo groot is; max =255).

Je hebt problemen, man.

Hier is een eenvoudig voorbeeld dat u misschien kunt uitbreiden. Het heeft twee tabellen met een veel-op-veel-relatie ertussen. De join-tabel heeft twee externe sleutels. Het werkt in MySQL - ik heb zojuist een database gemaakt en deze tabellen toegevoegd.

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. NodeJS/Knex Json-reactie maken

  2. Als we een US7ASCII-tekenset hebben, waarom kunnen we dan niet-ascii-tekens opslaan?

  3. Kolomtelling komt niet overeen met waardetelling in rij 1 JAVA mysql

  4. php-zoekmachinescript