我目前有
PHP代码处理这个逻辑,因为我不知道如何在SQL中处理它.我想创建一个存储过程,删除除给定config_id的最新行之外的所有行. IE config_id = 5被传递给SP,因此它知道它要清理哪个config_id.
CREATE TABLE `TAA`.`RunHistory` (
`id` int(11) NOT NULL auto_increment,
`start_time` datetime default NULL,
`stop_time` datetime default NULL,
`success_lines` int(11) default NULL,
`error_lines` int(11) default NULL,
`config_id` int(11) NOT NULL,
`file_id` int(11) NOT NULL,
`notes` text NOT NULL,
`log_file` longblob,
`save` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=128 DEFAULT CHARSET=utf8;
最新的将由start_time确定,如果stop_time为null但不是最新的应删除(如果运行被毫不客气地杀死,则stop_time可以为null).