位置: 编程技术 - 正文
推荐整理分享完美解决Thinkphp3.2中插入相同数据的问题(完美解决索尼电视arc无声音),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:完美解决索尼电视arc无声音,完美解决怠速抖动加油就平稳,完美解决usb供电不足,完美解决显卡利用率低,完美解决usb供电不足,完美解决usb电涌15秒后关机,完美解决win10间歇性掉线,完美解决win10间歇性掉线,内容如对您有帮助,希望把文章链接给更多的朋友!
问题描述
今天在使用TP3.2插入数据的时候,为了避免插入相同的数据(所谓相同的数据,其主键相同或者是唯一索引的字段相同),我创建的索引如下图,主键索引为自增字段,不可能出现重复,即唯一索引可能会出现重复,我希望的是uid,year,mounth,day 这三个字段出现相同的话,就更新当前记录。
问题解决办法
在之前面对这样的问题的时候,我们知道,MySQL提供了ON DUPLICATE KEY UPDATE或者REPLACE INTO来解决。
使用ON DUPLICATE KEY UPDATE
插入数据之前,表中就一条记录,如下图
SQL语句如下,当插入记录时候,与表中已有记录相同,则更新改条记录,否则插入记录。
使用REPLACE INTO
代码如下:
先执行如下代码插入一条数据
效果如下图
再次执行如下代码,就会更新上面插入的代码
效果如下图
ON DUPLICATE KEY UPDATE与REPLACE INTO区别
当出现相同的值时候,ON DUPLICATE KEY UPDATE是更新已经存在的记录,REPLACE INTO是删除之前的记录,然后插入新的记录。
Thinkphp3.2中解决办法
在Thinkphp3.2中,通过add()函数的第三个参数来处理插入相同数据的问题。
Model.class.PHP中add()方法,调用了Db.class.php中insert中方法,在insert方法中,我们可以看到有如下代码:
其中$replace 正好是add方法中第三个参数。
以上这篇完美解决Thinkphp3.2中插入相同数据的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。
Yii2 队列 shmilyzxt/yii2-queue 简单概述 shmilyzxt/yii2-queue简单解释:1.我用的yii2高级版,我们从配置开始看代码,这里我用的是mysql队列,首先配置文件,我把queue配置项写在根目录commonconfigmain-local.ph
YII框架中使用memcache的方法详解 本文实例讲述了YII框架中使用memcache的方法。分享给大家供大家参考,具体如下:yii中可以很方便的使用memcache一.配置在main.php的components中加入cache配置a
Yii 2.0实现联表查询加搜索分页的方法示例 前言最近在学习yii2.0,在使用yii2.0过程中遇到一些问题,现将查询搜索分页的方法整理如下,分享出来供大家参考学习,话不多说,来一起看看详细的
标签: 完美解决索尼电视arc无声音
本文链接地址:https://www.jiuchutong.com/biancheng/291038.html 转载请保留说明!友情链接: 武汉网站建设