MySQL-插入多个字段相同则更新 该条数据
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 ;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可以使用MySQL特有的INSERT INTO ON DUPLICATE KEY UPDATE,它的作用是当和UNIQUE索引或PRIMARY KEY中出现重复值,则执行旧行UPDATE。强调一下,它不是正规的SQL语句,是MySQL特有的。不利于后期的移植
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);