Mysql
 sql >> Baza danych >  >> RDS >> Mysql

utworzyć relację klucza podstawowego i obcego

Tabela klientów mogłaby wyglądać jak poniżej. Musi mieć wspólny typ danych i indeks dla kolumny w tabeli nadrzędnej (klienci). FK nie powiedzie się podczas tworzenia tabeli podrzędnej, jeśli typy kolumn / indeksy są nieprawidłowe.

A dla ALTER TABLE add constraint polecenie z wcześniej istniejącymi danymi w potomku, nie powiedzie się, jeśli dane są nieprawidłowe.

Nawiasem mówiąc, INT(4) to tylko szerokość wyświetlacza. To wciąż jest 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. łączenie połączeń php mysql

  2. Problemy z wyświetlaniem obrazów blob

  3. Zend/PHP:Problem z przesyłaniem/pobieraniem pliku do/z pola BLOB MySQL

  4. Wstaw wsadową instrukcję SQL

  5. Jak posortować to zapytanie MySQL