3

SQLite for Androidで、マルチ主キーを追加する正しい方法は何ですか?

現在私は持っています:

String Create_table = "CREATE TABLE project ( keyId INTEGER PRIMARY KEY, keyName TEXT PRIMARY KEY)";

私が考えた別の方法は次のとおりです。

   String Create_table = "CREATE TABLE project (keyID INTEGER, keyName TEXT, PRIMARY KEY(keyID, keyName))";

両方とも有効ですか?もしそうなら、どちらが良いですか?また、NULL値を禁止するにはどうすればよいですか?

4

2 に答える 2

7

いいえ、1つのテーブルに複数の主キーを作成することはできません。これはSQLの基本的なルールです。ただし、これを実現するために、インデックス付きのUNIQUEなどの他の制約を使用できます。

これは有効なSQL構文ではありません:

String Create_table = "CREATE TABLEプロジェクト(keyId INTEGER PRIMARY KEY、keyName TEXT PRIMARY KEY)";

他の方法では、次のように複数の列の主キーを作成できます。

Create Table yourTableName (col1, col2, col3, PRIMARY KEY (col1, col2));

NULL値を禁止するにはどうすればよいですか?

NOT NULL制約を使用できますが、 NULL値を入力することはできません。

于 2012-10-18T02:27:45.107 に答える
-1

1つの主キー、1つのテーブルでより多くの外部キーを使用できます

于 2012-10-18T02:29:39.577 に答える