mysql中有版本控制吗?
是否可以使用mysql数据库的版本控制系统? 或者,是否已经实施了版本控制系统 我想说,例如:从version=X的栏中选择foomysql中有版本控制吗?,mysql,controls,version,Mysql,Controls,Version,是否可以使用mysql数据库的版本控制系统? 或者,是否已经实施了版本控制系统 我想说,例如:从version=X的栏中选择foo 其中,eby版本是一个具有最后更新日期的mysql内部列。您还可以定义额外的表用于日志记录。例如,如果您已经有一个表news,您可以将其复制为news\u log。然后添加记录数据的列,例如:修改日期、操作(更新、删除、添加)等等 接下来,在原始表上定义触发器,将数据插入日志记录表。例如,当您更新新闻表中的记录时,将执行您定义的新闻日志触发器,并在新日志中插入一条新
其中,eby版本是一个具有最后更新日期的mysql内部列。您还可以定义额外的表用于日志记录。例如,如果您已经有一个表news,您可以将其复制为news\u log。然后添加记录数据的列,例如:修改日期、操作(更新、删除、添加)等等 接下来,在原始表上定义触发器,将数据插入日志记录表。例如,当您更新新闻表中的记录时,将执行您定义的新闻日志触发器,并在新日志中插入一条新记录,操作值为“update”,当前日期为修改日期 有关mysql触发器的更多信息:
如果您想对每个项目都这样做,您可能会编写一个通用存储过程来执行实际的日志记录。这样,您就可以重用它,只需定义触发器和日志记录表。非常晚响应。。。与鲁本的建议类似,我有设置触发器来更新版本控制表,以便在每次插入、更新和删除时增加版本号 我在我的网站上布置了台阶 **更新**
我决定使用触发器来协助版本控制。以下是如何 我有一个包含玩家的表,如果有更改(插入、删除或更新),我想在我的版本控制表中增加版本号 以下是版本控制表的外观: 版本号(键)、表名(varchar)、版本号(整数) 然后我在players表上创建了3个触发器,一个用于插入、删除和更新 插入:
delimiter //
CREATE TRIGGER `player_table_INSERT` AFTER INSERT ON `players`
FOR EACH ROW BEGIN
UPDATE version_control SET version=version+1 WHERE table_name=’players’;
END;//
delimiter ;
删除:
delimiter //
CREATE TRIGGER `player_table_DELETE` AFTER DELETE ON `players`
FOR EACH ROW BEGIN
UPDATE version_control SET version=version+1 WHERE table_name=’players’;
END;//
delimiter ;
更新:
delimiter //
CREATE TRIGGER `player_table_UPDATE` AFTER UPDATE ON `players`
FOR EACH ROW BEGIN
UPDATE version_control SET version=version+1 WHERE table_name=’players’;
END;//
delimiter ;
**我在FOR触发器的每个部分都有额外的SQL语句,因此我使用了分隔符(第一行和最后一行)以及BEGIN和END。AFAIK否,在任何RDBMS中都没有这样的东西。我想你应该自己添加这个功能。例如,在所有表中增加一个“version”列(至少在需要版本控制的表中是这样)。另外,这个VC特性可能应该在ORM级别进行管理。回答不错。一般来说,如果你在这里复制尽可能多的答案,而不仅仅是链接到另一个网站,那就更好了;这样,即使链接因任何原因消失,答案仍然是好的。谢谢你的提示yochannah(第一次回答)。我会更新我的原始回复