sql >> Database teknologi >  >> RDS >> Mysql

skabe primære og fremmede nøglerelationer

Kundetabellen kunne se ud som nedenstående. Det skal have en fælles datatype og indeks for kolonnen i overordnet tabel (kunder). FK vil fejle ved oprettelse af underordnet tabel, hvis kolonnetyper/indeks er forkerte.

Og for en ALTER TABLE add constraint kommando med allerede eksisterende data i underordnet, vil den mislykkes, hvis data ikke er gyldige.

Forresten er INT(4) kun en skærmbredde. Det er stadig 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. Hvordan bruger man Rails med stort kolonnenavn?

  2. Repræsenter et tidspunkt uden dato i rubin

  3. Dvale kan ikke oprette skema automatisk på Heroku postgres

  4. Hvordan deserialiseres BigDecimal-værdi modtaget fra kafka-mægler gennem debezium CDC-mekanisme?