我正在尝试编写一个查询,以使用’implode’以有效的方式插入许多值的数组(比如说1000).这是代码.

$sql = array();

foreach( $return as $key=>$row ) {

$sql[] = '("'.mysql_real_escape_string($row['fullname']).'", '.$row['age'].','.$row['since'].','.'"'.mysql_real_escape_string($row['description']).'")';

}

mysql_query('INSERT INTO data (name, age, since, description) VALUES '.implode(',', $sql));

我的查询将记录数组插入数据表.我想更改查询,以便它将更新记录,如果它存在,否则它将插入记录.

解决方法:

您可能想要的是“ON DUPLICATE KEY”的一个版本,它实际上允许您引用正在输入的数据.

INSERT INTO data (name, age, since, description) VALUES

("Bob", 23, "01-01-1980", "friend"),

("Bill", 33, "03-01-1980", "tall"),

("Jane", 43, "12-01-1980", "thin")

ON DUPLICATE KEY UPDATE age=VALUES(age),

since=VALUES(since),

description=VALUES(description);

希望你读到它时不言自明?

$sql = array();

foreach( $return as $key=>$row ) {

$sql[] = '("'.mysql_real_escape_string($row['fullname']).'", '.$row['age'].','.$row['since'].','.'"'.mysql_real_escape_string($row['description']).'")';

}

mysql_query('INSERT INTO data (name, age, since, description) VALUES '.implode(',', $sql). ' ON DUPLICATE KEY UPDATE age=VALUES(age), since=VALUES(since), description=VALUES(description);');

编辑,将其添加到上面的用户代码中.

标签:php,sql,mysql

来源: https://codeday.me/bug/20190723/1511986.html

php查询记录是否存在,php – 如果记录存在,我可以更新记录,如果不存在,可以在单个查询中更新多行吗?...相关推荐

  1. mysql 记录更新 内部_MySQL 入门(1):查询和更新的内部实现

    摘要 在MySQL中,简单的CURD是很容易上手的. 但是,理解CURD的背后发生了什么,却是一件特别困难的事情. 在这一篇的内容中,我将简单介绍一下MySQL的架构是什么样的,分别有什么样的功能.然 ...

  2. SQL 分页查询语句大全即(查找第N到M条记录的方法)

    SQL 分页查询语句大全即(查找第N到M条记录的方法) 第一种方法,我的原创方法 row=2 表示分页行数 page=1 表示页码 getnum=row*page select * from  (se ...

  3. mysql 获取下一条记录数,如何在MySQL中查询当前数据上一条和下一条的记录

    如果ID是主键或者有索引,可以直接查找: 方法一: 查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误): select * from tab ...

  4. oracle查询最近十天日期,ORACLE中距离某日期最近的记录的查询

    在做项目的时候经常会用到距离某日期最近的记录,既然是记录,那么查询出的酒不会单单是日期和进行分组的某字段,那么这个时候就需要进行表和自身的关联,但是当多个表之前进行关联,而且每个表都要与自身进行关联时 ...

  5. 【JSP教科书】JSP知识在线指南(记录知识JSP体系、EL表达式、JSTL标签库、JSP开发模型和分页查询)

    文章目录 @[toc] 一.JSP简介 1.1 什么是JSP? 1.2 JSP的特点 1.3 JSP为什么也是Servlet 1.4 tomact服务器中的资源分析 1.4.1 tomact服务器中的 ...

  6. 数据库 » Oracle 查询当日、当周、当月和当季度的所有记录 Oracle 查询当日、当周、当月和当季度的所有记录...

    Oracle 查询当天.当周.当月和当季度的所有记录 Oracle 字段类型为varchar2,格式要与格式化的样式匹配 当天 select * from 表名 where to_char(to_da ...

  7. 记录一次慢SQL优化:大表关联小表->拆解为单表查询

    前言: 最近一段时间总是会收到数据库CPU报警 一查发现有一个特别慢的SQL,调用的频率很高,并且查一次SQL15s以上,十分影响性能 SQL分析 这个sql是一个分页查询的sql,每次查出10条主表 ...

  8. Dynamics CRM2016 Web API之更新记录

    本篇继续探索web api,介绍如何通过web api更新记录. 下面是一段简单的更新代码,更新了几个不同类型的字段,entity的赋值和前篇创建时候的一样的. var entity = {};ent ...

  9. 记录一次游戏服务器的压测调优记录(Golang语言)

    记录一次游戏服务器的压测调优记录(Golang语言) 来自:烧书煮石_ 记录一次游戏服务器的压测调优记录(Golang语言) - 简书 (jianshu.com) 前言 辛苦开发了一年的服务,终于要上 ...

最新文章

  1. 传苹果产品总设计师欲离职 地位堪比乔布斯
  2. C#抽象工厂模式的几种实现方法及比较
  3. 让Nginx支持pathinfo
  4. java printwriter 文件_java – 如何使用printwriter创建和写入文件
  5. CocoaPods pod install/pod update更新慢的问题
  6. 解决PRINT函数UTF-8问题
  7. 如何在页面中获取到ModelAndView绑定的值
  8. hdu 2119(最大匹配)
  9. FinalData 数据恢复工具[绿色版]
  10. 西门子PLC编写抢答系统
  11. 循环冗余校验码(CRC)详解
  12. vue 路由守卫的使用
  13. 谭浩强大师的世界纪录
  14. 基于高德导航的Android大作业
  15. Facebook新模型SEER|图像预训练的内卷
  16. WRF气象数据之NECP FNL数据批量下载
  17. Awesome Chrome 插件集锦
  18. UI设计中最重要的元素和原则是什么
  19. 亲脂性细胞膜染料: DiO, Dil, DiR, Did - MedChemExpress
  20. C语言编程>第三周 ⑧ 打印出杨辉三角形(要求打印出10行)

热门文章

  1. filebeat配置参数_filebeat配置详解
  2. [西瓜书习题] 第二章 模型评估与选择
  3. 面向对象的一些基础概念
  4. for 与 while 区别?
  5. RTUILabel+正则表达式
  6. Windows下配置Mysql免安装版
  7. U811.1接口EAI系列之二-BOM构成-委外BOM构成--VB语言
  8. Call for Papers | ACCV 2022在澳门等你
  9. 上海 · 百度语义分割Pro沙龙,高性能深度学习实战营
  10. python字符串(连载二)|字符串内置函数原来还可以这么玩!