首页  >  文章  >  后端开发  >  有关于thinkphp文本字段自增

有关于thinkphp文本字段自增

WBOY
WBOY原创
2016-06-23 14:03:111026浏览

我要做到的效果是
UPDATE `com_cn_selldetail` SET `remark`=remark+'今天多少号' WHERE id=62322

请问这种用TP怎么写。
我用array('exp',"remark+'今天多少号'");
打印出来是:
UPDATE `com_cn_selldetail` SET `remark`=remark+\'今天多少号\' WHERE id=62322


回复讨论(解决方案)

'今天多少号'是数字吧?
把单引号去掉试试。

'今天多少号'是数字吧?
把单引号去掉试试。

remark这个字段是文本来的。所以要用单引号

remark存储的是remark=remark+'今天多少号';就是文本字段累加

通过 tp 是做不到的,除非你去修改他的 model 类代码
即便是可以做到,你的 SQL 指令也是错的

文本字段累加,要用 concat
remark=concat(remark,'今天多少号')

通过 tp 是做不到的,除非你去修改他的 model 类代码
即便是可以做到,你的 SQL 指令也是错的

文本字段累加,要用 concat
remark=concat(remark,'今天多少号')

可以说一下,这个在TP中要怎么写。

引用 5 楼 xuzuning 的回复:通过 tp 是做不到的,除非你去修改他的 model 类代码
即便是可以做到,你的 SQL 指令也是错的

文本字段累加,要用 concat
remark=concat(remark,'今天多少号')

可以说一下,这个在TP中要怎么写。
楼上已经说你用直接相加是做不到了,MYSQL中+只能加数字,字符串连接是用concat方法。你这种只能先取出数据,然后用PHP连接后再更新回去。
不过我搞不懂你这个是什么需求,怎么会有人往数据库字段中后面添加一段中文的需求?如果你是所有数据改字段都要加这段中文,那么我建议你直接在MYSQL中运行去掉条件的UPDATE语句。

对于TP框架来说只能是选取出再连接,再更新回去了。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn