web-dev-qa-db-ja.com

データベーステーブルに主キーを設定できませんか?

データベーステーブルに主キーを設定できませんか? SQLiteを使用すると、主キーのないテーブルを定義できるため、挿入に異常が発生することはありません。

6
user138363

Can主キーなしでデータベーステーブルを作成しますか?さて、あなたはSQLiteでできると言ったばかりです。そして、私はそれがほぼすべての(すべてではないにしても)主要なDBMSプラットフォームに当てはまると信じています。

すべき主キーなしでデータベーステーブルを作成しますか?番号。

すべてのテーブルには、1つの行のみを一意に識別するいくつかの列(または列のセット)が必要です。データの保守がはるかに簡単になります。

確かに、主キー(またはsome一意キー)がなければ、同じデータを複数回挿入しても、挿入に異常はありません。

あなたが持っているものdoは、「bob」という名前のユーザーの300の個別のエントリを持つuserテーブルで、その多くは他の列に異なる値を持っています。また、他のテーブルの行をuserに接続しようとした場合、主キーと外部キーの関係はありません-messageのすべての行はsent_by "bob"は、300のuserエントリのすべてに関連付けます。そして、「bob」には39の固有のパスワードがあります(もちろん、行の157にはすべて「password」というパスワードが表示されています)。

主キーがないと、物事は非常に厄介で、非常に速くなります。

7
RDFozz