你好,我有一个数据库,我需要用逗号分隔值更新其中一个字段。我需要做的就是...比如说字段中的值是872,875,879,我需要在此字段中添加812,以便更新后它应该看起来像872,875,879,812,同时我需要更新一些空值812在specific_id表中的其余区域。
我不知道怎么做?目前添加号码的方式就像
我的桌子:
sl_no name col1 col2 specific_id
829 x 123 456 859,802
853 y 111 121 872,875,879
861 z 101 145 **812**,888,844
883 a 111 666 877,866
我需要这样的输出
sl_no name col1 col2 specific_id
829 x 123 456 859,802
853 y 111 121 872,875,879,**812**
861 z 101 145 888,844
883 a 111 666 877,866
我可以这样做更新,但如何在单行查询中删除该值
update tablename
set specific_id = Concat(specific_id, ',', '$var') where id = 853
任何帮助,请
答案 0 :(得分:1)
不,你不能在同一个查询中进行更新和删除,
你只能组合
$('#mySelector').find(":selected")
这不是简单的mysql优化的正确方法 因为每个查询都有不同的查询成本。
在myisam中,它涉及用于写入的表级锁定
UPDATE和SELECT的示例
DELETE and SELECT
UPDATE and SELECT
DELETE和SELECT的示例
UPDATE TABLE_A
SET SOME_COLUMN = (SELECT SOME_COLUMN_B FROM TABLE_B WHERE ... LIMIT 1)
答案 1 :(得分:0)
您可以使用两次更新。首先更新查询以删除不需要的所有记录,然后简单更新查询以更新特定行。 要从整个表中更新(删除)特定值(812),请使用以下参考: How to replace a comma separated value in table column with user input value