Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

criar relacionamento de chave primária e estrangeira


A tabela de clientes pode ser semelhante à abaixo. Ele precisa ter um tipo de dados e um índice comuns para a coluna na tabela pai (clientes). O FK falhará na criação da tabela filho se os tipos/índice de coluna estiverem errados.

E para uma restrição de adição ALTER TABLE add constraint comando com dados pré-existentes no filho, ele falhará se os dados não forem válidos.

A propósito, o INT(4) é apenas uma largura de exibição. Ainda é um 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;