sql >> Database >  >> RDS >> Mysql

primaire en externe sleutelrelatie maken

De klantentabel kan er als volgt uitzien. Het moet een gemeenschappelijk gegevenstype en index hebben voor de kolom in de bovenliggende tabel (klanten). De FK zal mislukken bij het aanmaken van een onderliggende tabel als de kolomtypes / index verkeerd zijn.

En voor een ALTER TABLE add constraint commando met reeds bestaande gegevens in het kind, het zal mislukken als de gegevens niet geldig zijn.

Trouwens, de INT(4) is slechts een weergavebreedte. Het is nog steeds een 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. Selecteer indien aanwezig anders invoegen?

  2. Werk kolommen bij als invoerwaarden niet null zijn, anders negeer en bewaar de bestaande waarden van kolom in database

  3. ruby-migratie teruggedraaid, maar krijg een foutmelding wanneer de migratie opnieuw wordt uitgevoerd

  4. Oracle bestellen door voor verschillende voorwaarden