0

我想知道是否有一种方法可以更新 mysql 中的记录,并且仍然能够保留记录的先前(更新之前)数据并保留更新历史计数器。

我应该能够将最后更新的记录用作真实记录。

帮助表示赞赏。

谢谢。

4

1 回答 1

2

我认为您不需要更新记录,而是更新Insert另一条记录,这样您以前的记录就不会受到影响。

更新 1

您需要为此创建两个表。第一个是data记录,另一个是保存更改的表。例子,

CREATE TABLE dataList
(
    ID INT NOT NULL,
    Name VARCHAR(30),
    -- other fields... ,
    CONSTRAINT dl_pk PRIMARY KEY ID)
);

CREATE TABLE versionList
(
    ID INT AUTO_INCREMENT,
    DataID INT,
    VersionID INT,
    DateChanged datetime,
    CONSTRAINT vl_pk PRIMARY KEY (ID),
    CONSTRAINT vl_fk FOREIGN KEY (DataID) 
        REFERENCES dataList(ID)
);

INSERT INTO dataList(ID, Name) VALUES (1,'hello');
INSERT INTO dataList(ID, Name) VALUES (2,'world');

INSERT INTO versionList(DataID, VersionID, DateChanged) VALUES (1,1,'2011-01-01');
INSERT INTO versionList(DataID, VersionID, DateChanged) VALUES (1,2,'2011-02-01');
INSERT INTO versionList(DataID, VersionID, DateChanged) VALUES (1,3,'2011-03-01');
INSERT INTO versionList(DataID, VersionID, DateChanged) VALUES (2,1,'2012-01-01');
INSERT INTO versionList(DataID, VersionID, DateChanged) VALUES (2,2,'2012-02-01');
于 2012-09-24T08:16:28.970 回答