0
SQLite3でテーブルを作成するときに、次のコマンドを使用してIDを自動増分したり、同じUSERNAMEを持つ複数のユーザーを入力できるようにUSERNAMEを主キーにしたり、 。sqliteが自動インクリメントしない
コマンド:あなたは私が二度ユーザ名の猫を入力してみましょうし、それが必要として、IDに値を代入していないことを言うことができるようにここで
CREATE TABLE 'users' (
'id' INTEGER AUTO INCREMENT,
'username' TEXT NOT NULL,
'hash' TEXT,
PRIMARY KEY ('id', 'username')
);
は、それが何をしているかを示すためのコンソールから出力され、自動インクリメントに応じてあります
sqlite> CREATE TABLE 'users' ('id' INTEGER AUTO INCREMENT, 'username' TEXT NOT NULL, 'hash' TEXT, PRIMARY KEY ('id', 'username'));
sqlite> insert into users (username, hash) values ('cat', 'dog2');
sqlite> insert into users (username, hash) values ('cat', 'dog2');
sqlite> select * from users;
id username hash
---------- ---------- ----------
cat dog2
cat dog2
sqliteが自動インクリメントをどのように扱うのかよく分かりませんが、 'PRIMARY KEY(id、username)'はIDとユーザー名をTOGETHERがPKにすることを意味します。ユーザー名を一意にするには、そのフィールドにUNIQUE制約/キーが必要です。 – Uueerdo