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

異なるデータ型で外部キーを設定する

    実際、ここで意味があるのはその理由です:

    テーブルでは、実際には任意の列を主キーとして設定できます。したがって、整数、倍精度浮動小数点数、文字列などになります。現在では、ほとんどの場合、整数または最近では文字列をテーブルの主キーとして使用しています。

    外部キーは別のテーブルの主キーを指しているため、外部キーのデータ型を指定する必要があるのはこのためです。そして、それは明らかに同じデータ型である必要があります。

    編集:

    ご覧のとおり、SQLの実装はこの場合は緩慢です。互換性のある型(INTとBIG INT、FloatまたはDECIMALとDOUBLE)を許可しますが、自己責任で 。以下の例でわかるように。

    ただし、SQLの基準では、両方のデータ型が同じである必要があると指定されています。データ型が文字の場合は同じ長さである必要があり、整数の場合は同じサイズである必要があります。 両方である必要があります 署名済みまたは両方とも署名なし

    2003年に発行されたMySQLの本の章をここで自分で見ることができます。

    これがあなたの質問に答えることを願っています。



    1. 2017 @ Somenines:お客様のストーリーを祝う

    2. json、jsonb、hstore、xml、enum、ipaddrなどの保存は、列xがタイプjsonで失敗しますが、式はタイプ文字が異なります

    3. MS SQL ON DELETE CASCADE同じテーブルを指す複数の外部キー?

    4. Tanh()がPostgreSQLでどのように機能するか