postgresql – SQL子查询在检查约束

前端之家收集整理的这篇文章主要介绍了postgresql – SQL子查询在检查约束前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以在Check约束中创建sql查询吗?

我有一个post表与列id,所有者
我有另一个表操作与列user_id,post_id
用户的列ID

post_id – > post.id和user_id – > user.id also post.owner – >用户名

现在我想约束post(post_id).id!= user_id对表操作

这怎么可能?

不支持在CHECK约束中超出当前行。

http://www.postgresql.org/docs/9.1/interactive/sql-createtable.html说:

A check constraint specified as a column constraint should reference
that column’s value only,while an expression appearing in a table
constraint can reference multiple columns.

Currently,CHECK expressions cannot contain subqueries nor refer to
variables other than columns of the current row.

有这个限制的好理由,但如果你喜欢在交通繁忙的独轮车骑车时,你可以颠覆使用功能的限制。这种情况下,不会回来咬你是罕见的;你可以更安全地在触发代码中强制使用不变量。

http://www.postgresql.org/docs/9.1/interactive/triggers.html

猜你在找的Postgre SQL相关文章