如何使用mysql连续更新和删除

时间:2015-10-27 11:48:12

标签: mysql

你好,我有一个数据库,我需要用逗号分隔值更新其中一个字段。我需要做的就是...比如说字段中的值是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

任何帮助,请

2 个答案:

答案 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