我正在學習SQL,讓我困擾的是,我似乎無法在表上找到所有約束。我創建的表MySQL:如何查看錶上的所有約束?
create table t2
(a integer not null primary key,
b integer not null, constraint c1 check(b>0),
constraint fk1 foreign key(a) references t1(a));
,並增加了約束與
alter table t2
add constraint c2 check (b<20);
那我就看到
show table status
from tenn #-->the name of my database
like 't2';
然後
show create table t2;
全部(4個)的限制
然後
select *
from information_schema.key_column_usage
where table_name='t2';
最後
select *
from information_schema.table_constraints
where table_name='t2';
但是,這些節目全部四個約束。誰能告訴我如何看到他們所有人?
非常感謝!
能否請你說明什麼是您運行查詢的結果? * P.S我聽說的是,mysql不支持檢查約束。 – user194076
雖然你試過CONSTRAINT_COLUMN_USAGE? – user194076
您可以嘗試直接查詢系統表,而不是信息架構視圖 – user194076