展开

关键词

MariaDBMysql

insert into ............ insert into table_name (id, name, age) values (1,'乔峰',21),(2,'段誉',22),( (存在就, 不存在就) insert into ............ on duplicate key update ............ (存在就, 不存在就) replace into ............ replace into table_name (id, name, age) values (1,'乔峰', 21),(2,'段誉',22),(3,'虚竹',23); on duplicate key update replace into 两种区别 on duplicate key update 是在原来记录上进行 replace into 是先把原来记录删除,然后再记录,所以如果字段没有写全就会出现某些字段数据丢失。

71630

Yii2.0实现功能示例

本文实例讲述了Yii2.0实现功能。 分享给大家供大家参考,具体如下: 方法1 /** * 循环周期 * @param array $condition * $condition = ['advertise_id' = true : false; } 方法2 /** * 商品销 * @param $params * @return bool|int * @throws \yii\db\Exception */ true : false; } /** * * @param $params * @return int * @throws \yii\db\Exception */ public shop_id', 'class_id'], $params); return $connection- createCommand($sql)- execute(); } 希望本文所述对大家基于Yii框架PHP

99721
  • 广告
    关闭

    腾讯云618采购季来袭!

    一键领取预热专享618元代金券,2核2G云服务器爆品秒杀低至18元!云产品首单低0.8折起,企业用户购买域名1元起…

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Mybatis正确姿势

    一、背景 最近业务用到,查了一下资料。 https://stackoverflow.com/questions/23486547/mybatis-batch-insert-update-for-oracle 就是在映射方法拼接多条或者语句 Oracle区别可以看出可能有兼容性问题(使用Oracle 同学重点参考下) 而且jdbc链接Url要加上 allowMultiQueries=true参数。 /submitted/batch_keys/BatchKeysTest.java mybatis官方示例所示方式来或者应该是最正确用法。 这里提到拿到结果方式支持拿到结果。

    46820

    MyBatis正确姿势

    之前写过一篇mybatis文章:https://blog.csdn.net/w605283073/article/details/83064000 这次补充: 根据https://blog.csdn.net /huanghanqian/article/details/83177178所述千条以上或者慎用foreach方式,ExecutorType.BATCH 方式,性能显著提升 那么怎么使用这种方式 deleted, @Param("audit") AuditData audit); @Flush List flush(); } 添加了flush方法,是为了控制大小 batchForecastMapper.flush(); } 调用flush时会调用doFlushStatement方法把数据到表。 潜在问题: Oracle 数据库需要每个语句后都要调用flush方法,来使得useGeneratedKeys生效。 参考文章:  Mybatis Executor原理分析

    51220

    MongoDB数据、删除、某个字段

    MongoDB数据 MongoDB文档 // 语法 db. 文档  shell 这样执行是错误 db.[collectionName].insert([{},{},{},……..]),这样仅可以第一条数据。  如图:  ? shell 不支持  想完成可以用MongoDB应用驱动或是shellfor循环  3.Save操作  save操作insert操作区别在于当遇到_id相同情况下  操作  默认情况下,当查询器查询出多条符合条件数据时,默认修改第一条数据。那么如何实现修改?  语法: db. [collectionName].update({查询器},{修改器},false, true) 即添加第四个参数,该参数为true,则,为false,则一条  ? 4.

    16.9K73

    mybatis两种方式(高效)

    mybatis两种方式(高效) 强烈推介IDEA2020.2破解激活 MyBatis消除了几乎所有JDBC代码参数手工设置以及对结果集检索封装。 MyBatis可以使用简单XML或注解用于配置原始映射,将接口JavaPOJO(Plain Old Java Objects,普通Java对象)映射成数据库记录。 一、mybiats foreach标签 foreach主要用在构建in条件,它可以在SQL语句进行迭代一个集合。 有3种,默认是simple,该模式下它为每个语句执行创建一个预处理语句,单条提交sql;而batch模式重复使用已经预处理语句,并且执行所有语句,显然batch性能将优; 但batch

    43830

    zabbix主机名

    原本zabbixagent段设置hostname是ip地址 现在要改成linuxhostname, 首先用saltstack修改zabbix_agentd.conf 代码如下  zabbix /local/etc/zabbix_agentd.conf     - text: Hostname={{ grains['fqdn'] }} 接下来要修改zabbixserver数据库 代码如下,写比较简单

    63830

    使用CodeIgniter 模型踩坑小结

    前言 CI4,提供了**数据建模**能力,其一个妙处就是在使用使用 CodeIgniter 模型增或者数据时,可以自动写时间字段时间字段。 踩坑 一、数据无法 在**验证规则**不要把createdFieldupdatedField字段设为 required,否则数据将无法。 三、使用$useTimestamps时注意 使用$useTimestamps时,假如你数据表没有时间字段(createdField)或时间字段(updatedField),请把他们写上,例如 protected $useTimestamps = true; // 有时间字段,赋值为字段名称 protected $createdField = 'addTime'; // 没有时间字段 ,赋值为null(没有时间字段也同理) protected $updatedField = null; 如果两个都无,就不用写这三行啦~ 总结 使用 CodeIgniter 可以节省许多开发PHP

    13140

    TP5框架安全机制实例分析

    分享给大家供大家参考,具体如下: 防止sql注 1、查询条件尽使用数组方式,具体如下: $wheres = array(); $wheres['account'] = $account; $ $tureTableName ='user'; // 配置修改字段匹配设置(针对表单) protected $insertFields =array('name','sex ,再使用add方法数据时,只会上面配置几个字段值(类同),具体如下: // 用户注册(示意性接口:) public function register() { ); 多关于thinkPHP相关内容感兴趣读者可查看本站专题:《ThinkPHP门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter门教程》 、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架门教程》及《PHP模板技术总结》。

    10020

    thinkphp框架表单数组实现图片上传功能示例

    本文实例讲述了thinkphp框架表单数组实现图片上传功能。 分享给大家供大家参考,具体如下: 今天做一个表单数组实现图片上传,js不是很会,在网上找了资料改,html页面如下: <script type="text/javascript" var i = ()函数,但是把js变i传U()函数无法解析,所以在这里改为了url方式。 多关于thinkPHP相关内容感兴趣读者可查看本站专题:《ThinkPHP门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter门教程》、《CI (CodeIgniter)框架进阶教程》、《Zend FrameWork框架门教程》及《PHP模板技术总结》。

    15520

    tp5.1 框架数据库常见操作详解【添加、删除、、查询】

    如果数据比较多,可以指定分,使用limit方法指定每次限制。 方法data方法同时传数据,则会进行合并。 ,如果需要延时则传第三个参数,下例延时10秒。 大数据处理 如果需要处理大数据,可以使用版提供游标查询功能,该查询方式利用了PHP生成器特性,可以大幅减少大数据查询内存占用问题。 thinkPHP相关内容感兴趣读者可查看本站专题:《ThinkPHP门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter门教程》、《CI(CodeIgniter

    42220

    TP框架实现上传一张图片上传图片方法分析

    本文实例讲述了TP框架实现上传一张图片上传图片方法。 上传图片 前端代码: <form action="{地址}" method="POST" enctype="multipart/form-data" <input name="image[]" $value['savename'];//这里以获取在本地保存路径为例 } } 然后,上传图片,又可以愉快操作了。 多关于thinkPHP相关内容感兴趣读者可查看本站专题:《ThinkPHP门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter门教程》、《CI (CodeIgniter)框架进阶教程》、《Zend FrameWork框架门教程》及《PHP模板技术总结》。

    23820

    CI框架附属类用法分析

    分享给大家供大家参考,具体如下: 有些时候,你可能想在你控制器之外建一些类,但同时又希望 这些类还能访问 CodeIgniter 资源 任何在你控制器方法初始化类都可以简单通过 get_instance config- item('base_url'); 但是 $this 只能在你控制器、模型或视图使用,如果你想在 你自己使用 CodeIgniter 类,你可以像下面这样做: 首先,将 CodeIgniter 对象赋值给一个变: $CI =& get_instance(); 一旦你把 CodeIgniter 对象赋值给一个变之后,你就可以使用这个变 来 代替 $this $CI =& get_instance , foo() bar() 方法在初始化 Example 类之后都可以正常工作,而不需要在每个方法里都调用 get_instance() 函数。 多关于CodeIgniter相关内容感兴趣读者可查看本站专题:《codeigniter门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP门教程

    12921

    Thinkphp 框架配置操作之动态配置、扩展配置及配置实例分析

    本文实例讲述了Thinkphp 框架配置操作之动态配置、扩展配置及配置。 默认情况下,扩展配置文件设置参数会并项目配置文件。也就是默认都是一级配置参数,例如user.php配置参数如下: <? : C('USER.USER_AUTH_ID'); 配置 C配置方法支持配置,例如: $config = array('WEB_SITE_TITLE'= 'ThinkPHP','WEB_SITE_DESCRIPTION // 读取合并到全局配置数据库配置参数 C('CONFIG1'); // 动态改变配置参数(当前请求有效,不会自动保存到数据库) C('CONFIG2','VALUE_NEW'); 多关于thinkPHP 相关内容感兴趣读者可查看本站专题:《ThinkPHP门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter门教程》、《CI(CodeIgniter

    19330

    CI框架实现创建自定义类库方法

    你可以像下面这样做: 首先,将 CodeIgniter 对象赋值给一个变: $CI =& get_instance(); 一旦你把 CodeIgniter 对象赋值给一个变之后,你就可以使用这个变来 要使用该功能,你必须将你类库文件类定义改成原生类库完全一样,例如, 要替换掉原生 Email 类话,你要建一个 application/libraries/Email.php 文件, 然后定义定义你类 你类名文件名必须以 MY_ 为前缀(这个可配置,见下文) 例如,要扩展原生 Email 类你需要建一个文件命名为 application/libraries/MY_Email.php , 然后定义你类 例如, 要加载上例你扩展 Email 类,你可以使用: $this- load- library('email'); 一旦加载,你还是通常一样使用类变来访问你扩展类,以 email 类为例, 多关于CodeIgniter相关内容感兴趣读者可查看本站专题:《codeigniter门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP门教程

    24431

    讲解-加载静态页

    讲解 本教程旨在向您介绍CodeIgniter框架MVC体系结构基本原理。它将向您展示如何以逐步方式构造基本CodeIgniter应用程序。 在本教程,您将创建一个基本闻应用程序。 创建闻项,这将引高级数据库操作表单验证。 结论,这将为您提供进一步阅读其他资源一些指示。 享受您对CodeIgniter框架探索。 Pages 类继承自 CodeIgniter\Controller 类,这意味着它可以访问 CodeIgniter\Controller 类 (system/Controller.php) 定义方法 静态页面模板目录为:application/Views/Pages/。 在该目录建 Home.php  About.php 模板文件。在每个文件任意输一些文本然后保存它们。 在页头模板文件,$title 变代表页面自定义标题,它是在方法被赋值,但并不是直接赋值给 title 变,而是赋值给 $data 数组 title 元素。

    29910

    系列开篇

    文手册 https://codeigniter-chinese.github.io/codeigniter4-user-guide/index.html CodeIgniter4与以往版本有大 CodeIgniter 可以在 GitHub 上公开访问。请注意,尽管我们在保持代码基础功能上做出了大努力,但是我们并不能为开发分支代码功能作担保。 如果你这样做,记住最好打开你主 index.php 文件并将 $system_path,$application_folder  $view_folder 变设置为全路径,例如:/www/MyUser 在生产环境所要做一个额外操作是禁用 PHP 错误报告以及其它任何仅开发时所使用功能。在 CodeIgniter ,可以通过设置 ENVIRONMENT 常来完成。 如果要使用提供调试工具,你需要将环境设置为 "develop"。 就是这样! 如果你是 CodeIgniter 手, 请阅读用户指南 门 部分,开始学习如何构建静态 PHP 应用程序。

    40120

    thinkphp5.1框架模板赋值与变输出示例

    //赋值 $this- view- assign([ 'sex' = '男', 'salary' = 1200 ]); //2、array define('SITE_NAME','PHP'); //在模板输出数据 //模板默认目录位于当前模块view目录,模板文件默认位于以当前控制器命名目录 Request.controller}<br {//查询当前方法} {$Request.action}<br {//查询域名} {$Request.host}<br {//查询ip} {$Request.ip}<br 多关于 thinkPHP相关内容感兴趣读者可查看本站专题:《ThinkPHP门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter门教程》、《CI(CodeIgniter )框架进阶教程》、《Zend FrameWork框架门教程》及《PHP模板技术总结》。

    43910

    ThinkPHP5.1框架数据库链接增删改查操作示例

    本文实例讲述了ThinkPHP5.1框架数据库链接增删改查操作。分享给大家供大家参考,具体如下: 一、数据库链接方式 <? 'Sam3','age'= '29','posttime'= time()], ['name'= 'Sam4','age'= '30','posttime'= time()], ]; //(1)单条 //return Db::table('test')- data($data)- insert(); //(2)同时返回增主键id //return Db::table('test')- insertGetId ($data); //(3)多条数据 return Db::table('test')- data($dataall)- insertAll(); } //数据 public function thinkPHP相关内容感兴趣读者可查看本站专题:《ThinkPHP门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter门教程》、《CI(CodeIgniter

    30210

    扫码关注云+社区

    领取腾讯云代金券