我要做到的效果是
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架構來說只能是選取出再串連,再更新回去了。