SELECT
tc.constraint_name, tc.table_name, kcu.column_name,
ccu.table_name AS foreign_table_name,
ccu.column_name AS foreign_column_name,
tc.is_deferrable,tc.initially_deferred
information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name
JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name
WHERE constraint_type = 'FOREIGN KEY' AND tc.table_name = 'your table name';
constraint_type有四种:UNIQUE、PRIMARY KEY、CHECK、FOREIGN KEY
通过修改上边sql语句的table_name和constraint_type来进行相应的查询
SELECT tc.constraint_name, tc.table_name, kcu.column_name, ccu.table_name AS foreign_table_name, ccu.column_name AS foreign_column_name, tc.is_deferrable,tc.initially_deferred FR...
yum install postgresql-server.x86_64
–默认安装上的postgresql的数据目录在/var/lib/pgsql/data下
service postgresql initdb
su – postgres
pg_ctl start/pg_ctl stop(如果系统有其他版本的pg需要修改环境变量,不然可能默认使用的是老版本)
alter table goods add primary key(sid);
2. 添加外键
alter table orders add foreign key(goods_id) references goods(sid) on update cascadeon delete cascade;
on update cascade: 被引用行更新时,引用行自动更
ALTER TABLE tablename DROP CONSTRAINT primaryname。talbename:表示表名
primaryname:表示主键名例子:postgres=# \d c_tab;
Table "public.c_tab"
Column | Type | Modifiers
一、约束的含义
数据类型是一种限制能够储存在表中数据类别的方法。但是产品的价格的列只能接受正值,但是没有任何一种标准的数据类型只接受正值。或是我们可能需要根据其他列或行来约束一个列中的数据。
二、约束的分类
(一)、检查约束
一个检查约束是最普通的约束类型。它允许我们指定一个特定列中的值必须要满足一个布尔表达式。
1、列约束
一个检查约束有...