0
私は以下のようなテーブルを作成しています。NOT NULLチェックが効かない
create table modifications (
id bigint(20) AUTO_INCREMENT not null primary key,
type varchar(100),
user_id bigint(20) null,
vulnerability_id bigint(20) null
)
alter table modifications
add constraint fk_user_id foreign key (user_id) references app_user(id)
alter table modifications
add constraint fk_vulnerability_id foreign key (vulnerability_id) references vulnerabilities(id)
alter table modifications
add constraint ck_OneIsNotNull check (user_id is not null or vulnerability_id is not null)
alter table modifications
add constraint ck_OneIsNull check (user_id is null or vulnerability_id is null)
私の目的は、列の1つがnullであり、もう1つがnullでないはずです。しかし、nullを挿入したり、nullでない場合は、エラーをスローせずに受け入れます。ここで私が使用した挿入クエリです。
insert into modifications (type,user_id,vulnerability_id) values('vulnerability',16,65)
insert into modifications (type) values('vulnerability')
どこが間違っていましたか?
エラーが表示された場合は、貼り付けておくと役立ちます。 –
私は何の誤りもありません。それは挿入されています。 – Rajesh