当前位置: 首页 > news >正文

做律师网站东莞网站推广及优化

做律师网站,东莞网站推广及优化,html5 响应式音乐网站,怎么做购物网站目录 1 使用 REPLACE 2 使用 INSERT ... ON DUPLICATE KEY UPDATE 使用 INSERT IGNORE 有效会导致 MySQL 在尝试执行语句时忽略执行错误 INSERT 。这意味着 包含 索引或 字段 INSERT IGNORE 中重复值的语句 不会 产生错误,而只是完全忽略该特定 命令。其明显目的是…

目录

1 使用 REPLACE

2 使用 INSERT ... ON DUPLICATE KEY UPDATE


使用 INSERT IGNORE 有效会导致 MySQL 在尝试执行语句时忽略执行错误 INSERT 。这意味着 包含 索引或  字段 INSERT IGNORE 中重复值的语句 不会 产生错误,而只是完全忽略该特定 命令。其明显目的是 针对数据库中已存在的数据以及进入系统的新数据的组合 执行大量语句。

例如,我们的 books 表可能已经包含一些记录:

mysql> SELECT * FROM books LIMIT 3;
+----+-------------------------+---------------------+----------------+
| id | title                   | author              | year_published |
+----+-------------------------+---------------------+----------------+
|  1 | In Search of Lost Time  | Marcel Proust       |           1913 |
|  2 | Ulysses                 | James Joyce         |           1922 |
|  3 | Don Quixote             | Miguel de Cervantes |           1605 |
+----+-------------------------+---------------------+----------------+
3 rows in set (0.00 sec)

如果我们有大量新数据和现有数据, INSERT 并且其中一部分数据包含字段的匹配值 id ( UNIQUE PRIMARY_KEY 表中的),则使用基本方法 INSERT 将产生预期的错误:

mysql> INSERT INTO books(id, title, author, year_published)
VALUES(1, 'Green Eggs and Ham''Dr. Seuss', 1960);
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'

另一方面,如果我们使用 INSERT IGNORE,则重复尝试将被忽略,并且不会发生任何错误:

mysql> INSERT IGNORE INTO books(id, title, author, year_published)
VALUES(1, 'Green Eggs and Ham''Dr. Seuss', 1960);
Query OK, 0 rows affected (0.00 sec)

1 使用 REPLACE


如果您希望实际替换 由于重复 或  如上所述的值而 INSERT 导致命令产生错误的行 ,则一种选择是选择该 语句。UNIQUEPRIMARY KEYREPLACE

当发出 REPLACE 语句时,每个发出的命令都有两种可能的结果:

  • 未找到具有匹配值的现有数据行,因此 INSERT 执行标准语句。
  • 找到匹配的数据行,导致使用标准语句删除该现有行 ,然后 执行DELETE 正常操作 。INSERT

例如,我们可以使用  苏斯博士的《绿鸡蛋和火腿》REPLACE 替换掉  马塞尔·普鲁斯特的《 id = 1 追忆似水年华》的现有记录:

mysql> REPLACE INTO books(id, title, author, year_published)
VALUES(1, 'Green Eggs and Ham''Dr. Seuss', 1960);
Query OK, 2 rows affected (0.00 sec)

请注意,尽管我们只改变了一行,但结果表明有  行受到了影响,因为我们实际上是 DELETED 用现有行 INSERTED 来替换它。

有关使用的更多信息, REPLACE 请参阅 官方文档。

2 使用 INSERT ... ON DUPLICATE KEY UPDATE


 对于可能包含重复或 值的INSERTING 行, 替代的(通常是首选的)方法  是使用  语句和子句。UNIQUEPRIMARY KEYINSERT ... ON DUPLICATE KEY UPDATE

与 REPLACE - 由于 DELETE 它在必要时执行的命令而具有固有的破坏性命令 - 使用 INSERT ... ON DUPLICATE KEY UPDATE 是非破坏性的,因为它只会发出 INSERT 或 UPDATE 语句,但绝不会 DELETE

例如,我们决定替换 “绿鸡蛋和火腿”id = 1 的记录  ,并将其恢复为原始的“ 追忆似水年华” 记录。因此,我们可以采用原始  语句并添加新  子句:INSERTON DUPLICATE KEY UPDATE

mysql> SET @id = 1,@title = 'In Search of Lost Time',@author = 'Marcel Proust',@year_published = 1913;
INSERT INTO books(id, title, author, year_published)
VALUES(@id@title@author@year_published)
ON DUPLICATE KEY UPDATEtitle = @title,author = @author,year_published = @year_published;

请注意,我们使用了正常 UPDATE 语法(但不包括不必要的 table 名称和 SET 关键字),并且只分配值 non-UNIQUE 。此外,尽管该方法不需要它们 ON DUPLICATE KEY UPDATE 才能正常运行,但我们也选择使用它们, user variables 这样我们就不需要  多次指定我们想要的INSERT 实际 值。UPDATE

结果,我们的 id = 1 记录正如 UPDATED 预期的那样:

mysql> SELECT * FROM books LIMIT 1;
+----+------------------------+---------------+----------------+
| id | title                  | author        | year_published |
+----+------------------------+---------------+----------------+
|  1 | In Search of Lost Time | Marcel Proust |           1913 |
+----+------------------------+---------------+----------------+
1 row in set (0.00 sec)
http://www.shuangfujiaoyu.com/news/9444.html

相关文章:

  • 做网站有前途吗网站维护费用
  • 南昌哪里网站建设专业创建一个网站
  • 做团购网站需要多少钱网站维护是什么意思
  • 曲阳网站建设推广seo外包 杭州
  • 做海外视频的网站有哪些广州网站关键词排名
  • 做网站用百度百科的资料会侵权吗怎么样做一个自己的网站
  • 网站推广策划成品人和精品人的区别在哪
  • 做网站设计要多少钱免费友情链接平台
  • 公司网站怎么发布文章seo优化一般包括哪些
  • 网站开发费会计分录山东百度推广代理
  • 西宁网站建设模板网站收录情况查询
  • 母婴用品商城网站建设免费推广软件哪个好
  • 中企动力做网站的优势百度云盘网页版
  • 爱做网站免费版网站外链工具
  • 企业邮箱登录入口126seo教程搜索引擎优化入门与进阶
  • 如果做动态网站的开发湘潭网页设计
  • 企业网站的好处东莞网站建设推广公司
  • 腾云建站靠谱吗有没有专门做策划的公司
  • .net网站 开发怎么样建一个网站
  • b2b国际贸易商务网站湛江今日头条
  • 有本地服务器怎么做网站更厉害的病毒2024
  • ui交互设计作品五年级上册优化设计答案
  • 党建类网站如何建设刷粉网站推广免费
  • 怎么接网站来做百度首页排名优化哪家专业
  • 呼市做开发网站的公司种子搜索神器
  • 自己怎么做网站建设培训机构管理系统
  • 做的好的响应式网站建一个app平台的费用多少
  • 简述什么叫市场营销简阳seo排名优化课程
  • 国内猎头公司前十名北京seo外包平台
  • 阿里云是做网站的吗抖音视频排名优化