在我的数据库中,我有一个带有时间戳等的updateinfo。每当值发生变化/更新时,都应该更新。
实际上我首先检查是否有更改值(旧)和值(新)仅在其中,我使用新的updateinfos添加更新值。
现在我问问自己如何能够更轻松,更快速地完成任务。如果值没有改变,Normaly mysql不会更新somethink。但是有关我的更新的信息。如果我添加它们mysql将每次更新它们。我怎么能这样做,如果真的有一个改变的值,mysql只设置新的updateinfos?
例如
mysql SET a=1, b=2, Updateinfo='TIMESTAMP+IP'
我想要的是这样的
mysql SET a=1, b=2, (Updateinfo='Timestamp+IP' ONLY IF a or b has updated)
如果有一个SET a = 1,b = 2,那么有没有办法将字段Updateinfo ='Timestamp ...'添加到查询中?
希望我能解释一下我在寻找什么。
答案 0 :(得分:1)
这样的东西?它只是一个伪代码,但你明白了
run_query("UPDATE table SET a=1, b=2");
if(success == run_query){
run_query("UPDATE table SET Updateinfo='Timestamp+IP' WHERE a=1 AND b=2");
} else {
//some other things...
}
$a = 'somevalue';
$b = 'somevalue2';
$result = fetch -> run_query('SELECT a, b FROM table');
$existingA = $result["a"];
$existingB = $result["b"];
if(($existingA != $a) || ($existingB != $b)){
run_query("UPDATE table SET a=$a, b=$b, Updateinfo='Timestamp+IP'");
}