SQL更新如果表单上的列数据不同,则提交数据然后更新其他方式不更新

时间:2016-02-09 03:15:34

标签: sql database forms

我有一个像这样的数据库表。

+----+-------------+---------------------------------------+
| id |    title    |                post                   |
+----+-------------+---------------------------------------+
| 01 | title 01    | Post Content Post Content Post Content|
| 02 | title 02    | Post Content Post Content Post Content|
| 03 | title 03    | Post Content Post Content Post Content|
| 04 | title 04    | Post Content Post Content Post Content|
+----+-------------+---------------------------------------+

我有更新磁贴和帖子字段的更新表单。我使用sql查询Like

UPDATE post 
SET title='{$_POST["title"]}',post='{$_POST["post"]}  
WHERE id={$_POST["id"]}';

一切正常,但它会随时更新提交编辑表单。

我想编辑数据库数据只更新标题或发布表单上的内容提交不同的数据,其他方式没有更新数据库。

我如何检查是否有任何不同的数据库数据并提交表单数据并更新我的数据库数据。

感谢

1 个答案:

答案 0 :(得分:2)

我想你可以通过两种方式处理这个问题 -

  1. 在表格上使用Before Update触发器,并在更新前将旧值与新值进行比较。
  2. 更新帖子SET title =' {$ _ POST [" title"]}',post =' {$ _ POST [" post"] } WHERE id = {$ _ POST [" id"]}' AND(标题!=' {$ _ POST ["标题"]}'或发布!=' {$ _ POST [" post"]}) ;