sql >> Databasteknik >  >> RDS >> Mysql

skapa primära och främmande nyckelrelationer

Kundtabellen kan se ut som nedan. Den måste ha en gemensam datatyp och index för kolumnen i överordnad tabell (kunder). FK kommer att misslyckas vid skapande av underordnade tabeller om kolumntyper/index är fel.

Och för en ALTER TABLE add constraint kommando med redan existerande data i underordnad, kommer det att misslyckas om data inte är giltig.

Förresten, INT(4) är bara en skärmbredd. Det är fortfarande en int.

create table customers(
    customer_id int auto_increment primary key,
    customerName varchar(100) not null
    -- other columns
);

CREATE TABLE accounts(
    account_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT( 4 ) NOT NULL ,
    account_type ENUM( 'savings', 'credit' ) NOT NULL,
    balance FLOAT( 9 ) NOT NULL,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id) 
) ENGINE=INNODB;



  1. Nyckelord stöds inte:'metadata' + MySQL

  2. Mysql-fråga:matcha mot att använda jokertecken

  3. vilken funktion som ska användas i Oracle Standard Edition som den för partitionering i Oracle Enterprise Edition

  4. MySQL - Ta bort standardvärdet för Datetime-fältet