Sql 提交前更新IF条件

Sql 提交前更新IF条件,sql,postgresql,Sql,Postgresql,SQL中是否有类似于UPDATE IF的UPDATE语句,允许我根据需要更新的行验证客户端提供的属性子集 e、 g.updateposts SET body=$body,其中post\u id=$post\u id,如果author\u id=$author\u id FIND、check和UPDATE封装在事务中并不像我希望的那样优雅。也不是通过WHERE子句验证客户机提供的字段 向WHERE子句中添加属性将增加需要创建的索引数量,除了验证之外没有任何好处。为什么不直接在WHERE子句中使用I

SQL中是否有类似于UPDATE IF的
UPDATE语句,允许我根据需要更新的行验证客户端提供的属性子集

e、 g.
updateposts SET body=$body,其中post\u id=$post\u id,如果author\u id=$author\u id

FIND
、check和
UPDATE
封装在事务中并不像我希望的那样优雅。也不是通过
WHERE
子句验证客户机提供的字段


向WHERE子句中添加属性将增加需要创建的索引数量,除了验证之外没有任何好处。

为什么不直接在WHERE子句中使用IF条件呢

UPDATE posts
SET body = $body
WHERE post_id = $post_id
AND author_id = $author_id;

为什么不直接在WHERE子句中使用IF条件呢

UPDATE posts
SET body = $body
WHERE post_id = $post_id
AND author_id = $author_id;

为什么不直接在WHERE子句中使用IF条件呢

UPDATE posts
SET body = $body
WHERE post_id = $post_id
AND author_id = $author_id;

为什么不直接在WHERE子句中使用IF条件呢

UPDATE posts
SET body = $body
WHERE post_id = $post_id
AND author_id = $author_id;

你在找这个吗

  UPDATE posts 
   SET body = $body 
   WHERE post_id   = $post_id AND 
         author_id = $author_id;

你在找这个吗

  UPDATE posts 
   SET body = $body 
   WHERE post_id   = $post_id AND 
         author_id = $author_id;

你在找这个吗

  UPDATE posts 
   SET body = $body 
   WHERE post_id   = $post_id AND 
         author_id = $author_id;

你在找这个吗

  UPDATE posts 
   SET body = $body 
   WHERE post_id   = $post_id AND 
         author_id = $author_id;

Postgres中的
UPDATE
中没有可用的
IF
子句

这是一篇博士后论文,里面有你的语法

虽然我知道您提到过,但您觉得它并不优雅,您需要在
WHERE
子句中包含要验证的项目


另一个选项是将验证逻辑封装在pl/pgSQL函数中,尽管您仍然需要将其包含在
WHERE
子句中。如果您在一组查询中使用了完全相同的验证逻辑,那么这可能是一种更干净的方法来集中逻辑并减少查询中的重复。

Postgres中的
UPDATE
中没有
If
子句

这是一篇博士后论文,里面有你的语法

虽然我知道您提到过,但您觉得它并不优雅,您需要在
WHERE
子句中包含要验证的项目


另一个选项是将验证逻辑封装在pl/pgSQL函数中,尽管您仍然需要将其包含在
WHERE
子句中。如果您在一组查询中使用了完全相同的验证逻辑,那么这可能是一种更干净的方法来集中逻辑并减少查询中的重复。

Postgres中的
UPDATE
中没有
If
子句

这是一篇博士后论文,里面有你的语法

虽然我知道您提到过,但您觉得它并不优雅,您需要在
WHERE
子句中包含要验证的项目


另一个选项是将验证逻辑封装在pl/pgSQL函数中,尽管您仍然需要将其包含在
WHERE
子句中。如果您在一组查询中使用了完全相同的验证逻辑,那么这可能是一种更干净的方法来集中逻辑并减少查询中的重复。

Postgres中的
UPDATE
中没有
If
子句

这是一篇博士后论文,里面有你的语法

虽然我知道您提到过,但您觉得它并不优雅,您需要在
WHERE
子句中包含要验证的项目


另一个选项是将验证逻辑封装在pl/pgSQL函数中,尽管您仍然需要将其包含在
WHERE
子句中。如果您在一组查询中使用了完全相同的验证逻辑,那么这可能是一种更干净的方法来集中逻辑并减少查询中的重复。

我不明白。如果author\u id=$author\u id
中author\u id=$author\u id
的做法不同,您希望
做什么?这会让人更加困惑。如果没有索引,您认为奇怪的
IF
特性会比
WHERE
子句更快吗?创建索引正是为了这个原因:加快数据检索。另外:无论如何,你应该在
author\u id
上有一个索引,因为我怀疑它是
author
表的外键。我不明白。如果author\u id=$author\u id
中author\u id=$author\u id
的做法不同,您希望
做什么?这会让人更加困惑。如果没有索引,您认为奇怪的
IF
特性会比
WHERE
子句更快吗?创建索引正是为了这个原因:加快数据检索。另外:无论如何,你应该在
author\u id
上有一个索引,因为我怀疑它是
author
表的外键。我不明白。如果author\u id=$author\u id
中author\u id=$author\u id
的做法不同,您希望
做什么?这会让人更加困惑。如果没有索引,您认为奇怪的
IF
特性会比
WHERE
子句更快吗?创建索引正是为了这个原因:加快数据检索。另外:无论如何,你应该在
author\u id
上有一个索引,因为我怀疑它是
author
表的外键。我不明白。如果author\u id=$author\u id
中author\u id=$author\u id
的做法不同,您希望
做什么?这会让人更加困惑。如果没有索引,您认为奇怪的
IF
特性会比
WHERE
子句更快吗?创建索引正是为了这个原因:加快数据检索。另外:无论如何,您应该在
作者id
上有一个索引,因为我怀疑它是
作者
表的外键。