SQL:不存在则insert存在则update

SQL:不存在则insert存在则update

参考资料:http://www.tuicool.com/articles/YR7FNf



INSERT INTO arfcns(arfcn,power,type) VALUES('11','22','33')  ON DUPLICATE KEY UPDATE counter=counter+1;

执行update语句的条件是insert语句的执行会造成唯一键的重复。

所以在创建表的时候还要提前加上唯一键的约束

ALTER TABLE arfcns ADD CONSTRAINT c_arfcn UNIQUE(arfcn);


表的DDL:

CREATE TABLE `arfcns` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `arfcn` varchar(20) NOT NULL,
  `power` varchar(20) NOT NULL,
  `type` varchar(20) NOT NULL,
  `describe` varchar(256) DEFAULT NULL,
  `counter` int(11) DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `c_arfcn` (`arfcn`)
) ENGINE=MyISAM AUTO_INCREMENT=227 DEFAULT CHARSET=utf8


python代码示例:

def save_arfcns(arfcn,power,sptype):
        mysql = Database()
        mysql.insert("SET NAMES utf8")

        mysql.insert("INSERT INTO arfcns(arfcn,power,type) VALUES('%s', '%s','%s') on duplicate key update counter=coun
ter+1
" % (str(arfcn).encode('utf-8'), str(power).encode('utf-8'),str(sptype).encode('utf-8')))


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值