次に、これらの制約に違反するデータを挿入して、それらがどのように機能するかを確認してみましょう。まず、ユーザー名を指定せずにユーザーを挿入しようとします。
INSERT INTO users (email, age) VALUES ('test@example.com', 25);
username カラムが NOT NULL として定義されているため、エラーが表示されます。
期待される出力:
Error: NOT NULL constraint failed: users.username
このエラーは、SQLite が username に対して NOT NULL 制約を強制し、挿入を防止していることを示しています。
次に、重複するユーザー名を持つユーザーを挿入しようとします。まず、有効なユーザーを挿入します。
INSERT INTO users (username, email, age) VALUES ('johndoe', 'john.doe@example.com', 30);
次に、同じユーザー名を持つ別のユーザーを挿入しようとします。
INSERT INTO users (username, email, age) VALUES ('johndoe', 'jane.doe@example.com', 25);
username カラムが UNIQUE として定義されているため、エラーが表示されます。
期待される出力:
Error: UNIQUE constraint failed: users.username
このエラーは、SQLite が username に対して UNIQUE 制約を強制し、重複する値を防止していることを示しています。