千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > mysql中,replace into后怎么连接where子句?

mysql中,replace into后怎么连接where子句?

来源:千锋教育
发布人:xqq
时间: 2023-10-13 15:13:31 1697181211

一、mysql中,replace into后怎么连接where子句

REPLACE INTO 语法完全 与 INSERT INTO 一样工作,只是在新行已插入。

这意味着您应该将主键添加到被替换的值中,而不是 WHERE 子句以限制更新。

REPLACE INTO myTable (

  myPrimaryKey,

  myColumn1,

  myColumn2

) VALUES (

  100,

  ‘value1’,

  ‘value2’

);

…将提供与…相同的结果

UPDATE myTable

SET myColumn1 = ‘value1’, myColumn2 = ‘value2’

WHERE myPrimaryKey = 100;

…或更准确地说:

DELETE FROM myTable WHERE myPrimaryKey = 100;

INSERT INTO myTable(

  myPrimaryKey,

  myColumn1,

  myColumn2

) VALUES (

  100,

  ‘value1’,

  ‘value2’

);

replace into语句会根据少数键/主键删除原有的一条记录, 并且插入一条新的记录来替换原记录。如果没有表不存在少数键/主键 或者 插入的数据少数键/主键没有重复的,那么会新增一条记录。

新建一个test表,三个字段,uid,name,mobile, id是自增的主键,mobile是少数索引;

create table test(

    uid int(11) NOT NULL AUTO_INCREMENT,

    name varchar(50),

    mobile varchar(11) unique,

    PRIMARY KEY (uid)

);

#插入两条数据进行演示

insert into  test(name,mobile) VALUES (‘张三’,’135′);

insert into  test(name,mobile) VALUES (‘李四’,’137′);

延伸阅读:

二、为什么要持久化连接

这和 web 服务器的工作方式有关。web 服务器可以通过三种方法来利用 PHP 生成 web 页面。

名列前茅种方法是将 PHP 自以为 CGI“包装器”用作一个单独运行的语言解释器(CGI Wapper)。当以这种方法运行时,PHP 会为向 web 服务器的每个 PHP 页面请求创建并销毁 PHP 解释器的时候实例。由于其会随每个请求的结束而销毁,因此其获取的任何资源(例如指向 SQL 数据库服务器的链接)都会在销毁时关闭。在这种情况下,不会从使用持久连接中获得任何好处——因为根本不会持久。

第二,也是最流行的方法是把 PHP 用作多进程 web 服务器的一个模块,这种方法目前只适用于 Apache。多进程的服务器通常有一个父进程和一组子进程协调运行,子进程负责提供网页的工作。每当接收达到客户端提出请求时,该请求会传递给尚未给其它客户端提供服务的某个子进程。这也就是说当相同的客户端第二次向服务端发出请求时,它将有可能由与名列前茅次不同的某个子进程提供服务。在开启了一个持久连接后,所有请求 SQL 服务的后继页面都能够重用与 SQL 服务器建立的相同连接。

最后一种方法是将 PHP 用作多线程 web 服务器的插件。目前 PHP 支持 WSAPI 和 NSAPI(在 Windows 上),允许 PHP 作为 Netscape FastTrack(iPlanet)、Microsoft 的 Internet Information Server (IIS) 和 O’Reilly 的 WebSite Pro 等多线程服务器的插件使用。该行为与前面描述的多过程模型相同。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT