投稿

mysqlで既に登録されている値を置換して再登録

mysqlで既に登録されている値を置換して再登録

既存のテーブルに登録済みの値の一部を、条件に合う行だけ書き換えたいときに使う。UPDATE と組み合わせて REPLACE(name, " ", "") のように書けば、対象の文字列中の特定の部分文字列(この例では空白)だけを一括で置換して再登録できる。

REPLACE を利用する。

update
  users,
  (
    select
      id
    from
      users
    where
      name regexp ' '
  ) as having_spaces
set
  name = REPLACE(name, " ", "")
where
  users.id = having_spaces.id