tp框架mysql replace into怎么写

tp框架mysql replace into怎么写,第1张

在向表中插入数据的时候,经常遇到这样的情况:

1、首先判断数据是否存在;

2、如果不存在,则插入;

3、如果存在,则更新。

在 SQL Server 中可以这样写:

复制代码代码如下:

if not exists (select 1 from table where id = 1) insert into table(id, update_time) values(1, getdate()) else update table set update_time = getdate() where id = 1

在MySQL 中也可以先select,判断是否存在,存在则 update 否则 insert

但在MySQL 中有更简单的方法,使用 replace into关键字

复制代码代码如下:

replace into table(id, update_time) values(1, now())

复制代码代码如下:

replace into table(id, update_time) select 1, now()

replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中。

上面提示错误的mysql用户跟你所提供的配置文件的用户名都不一样,检查一下你是否还有别的配置文件,tp5针对不同模块可以有不同的数据库配置,你把他们全都找出来复查一遍试试,希望对你有帮助

TP的查询语法是支持跨数据库的,如果原生的话,可能就不能跨数据库支持了,另外一个就是在安全过滤这块需要自己把关了,优势是性能上省去了SQL组装的开销。

TP:ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。

原生sql:数据库能直接执行的sql语句,比如能在oracle,mssql,mysql,db2等数据库中直接执行

非原生sql:一般指根据指定的程序规则,自动生成的sql,比如最经典的,linq to sql


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8552738.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-17
下一篇2023-04-17

发表评论

登录后才能评论

评论列表(0条)

    保存