0

簡単な例:

ID     NAME  
-----------   
1      Test  
2      Test1

にアップデートTest1Test3ます。

結果は次のとおりです。

ID    NAME  
----------  
1     Test  
2     Test3

フィールドを更新した後、指定されたフィールドNAMEの以前の値が必要ですTest1。あらかじめ定義された機能はありますか?

4

4 に答える 4

3

以前の値に永続的にアクセスしたい場合は、同じテーブルに行「oldName」を追加してデータベースに保存するオプションがあります。トリガーを使用して、名前が変更されるたびに名前を体系的にバックアップすることもできます。

DELIMITER $$
CREATE TRIGGER `backup_name` BEFORE UPDATE ON `table1`
FOR EACH ROW BEGIN
    IF NEW.name <> OLD.name THEN
    SET NEW.oldName = OLD.name;
    END IF
END$$
于 2012-06-26T13:46:28.553 に答える
0

SQL ではありません。PHP などの他の言語を使用して更新する場合は、値を保存してから更新することができます。そうすれば、古い値をまだ手元に置くことができます。しかし、誰かがコメントで述べたように、コミットするとデータは失われます。

于 2012-06-26T13:21:19.437 に答える
0

mysqlにはそのような機能はないと思います。

mysql のトランザクションを見て、トランザクションの前に値を取得してみてCOMMITください

構文:

BEGIN TRANSACTION
...
END
于 2012-06-26T13:21:34.243 に答える
0

厄介な答えには、LAST_NAME などの列を追加することが含まれます。

UPDATE TABLE SET LAST_NAME=NAME,NAME = 'New Name' WHERE ID = 1
于 2012-06-26T16:40:03.120 に答える