sql >> データベース >  >> RDS >> Mysql

主キーと外部キーの関係を作成する

    顧客テーブルは次のようになります。親テーブル(顧客)の列に共通のデータ型とインデックスが必要です。列タイプ/インデックスが間違っている場合、FKは子テーブルの作成に失敗します。

    また、ALTER TABLE add constraintの場合 子に既存のデータがあるコマンド。データが有効でない場合は失敗します。

    ちなみに、INT(4)は単なる表示幅です。それはまだ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. SQLSUMクエリから特定のフィールドを除外する

    2. Oracleからデータをすばやく選択する方法

    3. TABLESAMPLEは間違った行数を返しますか?

    4. インクリメンタル統計によるパーティションメンテナンスの改善