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

SQL Server:関係を作成できません

    Personテーブルの主キーはおそらくIDです。これは自動インクリメントの整数フィールドです。

    IDではなくint型のアドレステーブルで外部キーを作成する必要があります。 Personレコードに対応する整数を保持しますが、外部キーを自動インクリメントする必要はありません。子テーブル(アドレス)のレコードごとに、外部キーに特定の値を設定して、それが属する親レコード(Person)を示します。

    例:

    INSERT person (firstname, lastname) VALUES ('John', 'Smith')
    

    これにより、新しい個人レコードとフィールドpersonidが挿入されます IDENTITYフィールドであるため、自動的に入力されます。

    John Smithからのアドレスを挿入するには、彼のpersonidを知っている必要があります。 。例:

    -- Say, for example, personid of John Smith is 55
    INSERT address (personid, street, city) VALUES (55, 'High Street', 'London')
    

    したがって、person テーブルpersonidは自動的に生成されますが、address 既存の人と一致する値を指定するテーブル。それが外部キーの要点です。

    スキーマに関する詳細情報がなければ、問題を推測するのは困難です。



    1. InnoDBを使用した全文検索

    2. MySQLが等しくないが機能していない

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

    4. PG ::UndefinedTable:エラー:正しいRailsの命名と規則で関係が存在しません