• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL记要存在则更新,不存在则插入_mysql

mysql 搞代码 7年前 (2018-06-07) 244次浏览 已收录 0个评论

mysql记录存在则更新,不存在则插入

Sql代码  MySQL记要存在则更新,不存在则插入_mysql

  1. CREATE TABLE `tb_file_authorize` (  
  2.   `authorize_id` int(11) NOT NULL auto_increment,  
  3.   `str_id` int(11) default NULL COMMENT ‘用户标识’,  
  4.   `file_id` int(11) default NULL COMMENT ‘文件标识’,  
  5.   `right_id` int(11) default NULL COMMENT ‘权限标识’,  
  6.   `catalog_id` int(11) default NULL COMMENT ‘目录标识’,  
  7.   `catalog_index` varchar(100) character set utf8 collate utf8_bin default NULL COMMENT ‘目录索引标识’,  
  8.   `expired_date` varchar(30) default NULL COMMENT ‘过期时间’,  
  9.   `limit_times` int(11) default NULL COMMENT ‘限制次数’,  
  10.   `open_times` int(11) default NULL COMMENT ‘已经打开次数’,  
  11.   `start_date` varchar(30) default NULL COMMENT ‘开始时间’,  
  12.   `end_date` varchar(30) default NULL COMMENT ‘结束时间’,  
  13.   `grant_user` varchar(30) default NULL,  
  14.   PRIMARY KEY  (`authorize_id`),  
  15.   KEY `file_right_index` (`str_id`,`file_id`),  
  16.   UNIQUE KEY `update_or_insert` (`str_id`,`file_id`)  
  17. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  

 

我遇到的问题:

   str_id标识用户的唯一标识,fiile_id为文件的唯一标识,此表为中间表str_id,与file_id确定right_id

当该表中存在str_id与file_id的记录时,更新right_id,否则插入一条新的记录,SQL语句如下:

 

java代码  MySQL记要存在则更新,不存在则插入_mysql

  1. INSERT into tb_file_authorize(str_id,file_id,right_id,catalog_id,catalog_index)  
  2. values (’35’,’20’,‘2048’,‘1’,‘1’) ON DUPLICATE KEY UPDATE right_id=‘1024’  

 

此sql的意思判断是否存在str_id为30,file_id为20的记录,存在则更新right_id为1024,否则插入新的记录.

 

注意:使用该方法,建表的时候要定义 UNIQUE KEY `update_or_insert` (`str_id`,`file_id`),这样才能保证语句能够正常执行。

MySQL记录存在则更新,不存在则插入

欢迎大家阅读《MySQL记要存在则更新,不存在则插入_mysql》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL记要存在则更新,不存在则插入_mysql
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址