方便回溯数据的mysql操作

CREATE TABLE `table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `path` varchar(255) DEFAULT NULL COMMENT 'owner path',
  `list` int(11) DEFAULT NULL COMMENT '目录数',
  `file` int(11) DEFAULT NULL COMMENT '文件数',
  `size` bigint(20) DEFAULT NULL COMMENT '文件总计大小',
  `cluster_path` varchar(255) DEFAULT NULL COMMENT '输入路径',
  `owner` varchar(100) DEFAULT NULL COMMENT '属于者',
  `datetime` datetime DEFAULT NULL,
  `date` int(11) DEFAULT NULL,
  PRIMARY KEY (`cluster_id`),
  UNIQUE KEY `reference` (`cluster_path`,`date`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=3960 DEFAULT CHARSET=utf8;

给表加了唯一索引 依赖两个字段 cluster_path,date

insert into 
cluster 
$field values('{$path}','{$owner}','{$list}','{$file}','{$size}','{$cluster_path}','{$datetime}','{$date}') 
ON DUPLICATE KEY UPDATE cluster_list='{$list}',cluster_file='{$cluster_file}', cluster_size='{$size}',datetime='{$datetime}'"

当触发唯一索引的时候就会只更改
ON DUPLICATE KEY UPDATE
后的字段 而不会添加一行新数据

你可能感兴趣的:(mysql,数据)