插入多个字段相同则更新 该条数据


   
  CREATE TABLE `sns_friend_log` (
  
`id` int(10) unsigned NOT NULL auto_increment COMMENT '自增id',
`user` int(10) unsigned NOT NULL COMMENT '用户id',
`fd_user` int(10) unsigned NOT NULL,
`nickname` varchar(30) NOT NULL COMMENT '用户昵称',
`time` int(10) unsigned NOT NULL COMMENT '访问时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gb2312 AUTO_INCREMENT=2 ;

表的结构式这样的。 user 和 fd_user 相同时 则更新时间 不同时插入新数据

最好支持批量插入,不行也没关系。改表的格式也可以,求以一个可行的方法。不要再php中先查询判断结果在插入的

sql mysql

K.626 11 years, 10 months ago

user 和 fd_user 字段建 联合唯一索引,可以使用下边的sql:

   
  INSERT INTO sns_friend_log (user,fd_user,nickname,time) VALUES (1,2,3,4) ON DUPLICATE KEY UPDATE xxx=xxx;
 

建立索引的sql:

   
  create unique index user_fd_user on sns_friend_log(user,fd_user);
 

我是一条人参 answered 11 years, 10 months ago

Your Answer