mysql - 如何使用sql update在mysql中编辑多条记录

标签 mysql sql insert sql-update record

版本 MySQL:5.5.28 phpMyAdmin - 2.11.11.3

我有多个类型的记录:name_test/, name_test/etc, name_test/etc/etc name_test/etc/etc/etc/etc 我希望它们像 Top/name_test/, Top/name_test/etc, Top/name_test/etc/etc/, Top/name_test/etc/etc/etc/etc 。

其中 90% 已经更改,因此我们只需要 SELECT 那些以“name_test/”开头的记录 问题是一个问题有点复杂,我必须更改大约 400 万个字段。

**table exemple1**

**column1**             **column2**                 **column3**
name_test1              name_test2/etc              name_test3
Top/etc/etc/            Top/name_test2/etc/etc/     name_test/etc/etc/
name_test               Top/name_test/etc/
name_test               #name_test/etc/etc/etc/#
name_test               #name_test/etc/etc/#
name_test2              #name_test/etc/#
name_test5              #name_test/#
name_test/etc

我还有其他的表格使用这样的语言:

**table exemple2**

**column1**             **column2**                 **column3**
name_test1              italian:name_test2/etc              name_test3
Top/etc/etc/            english:Top/name_test2/etc/etc/     name_test/etc/etc/
name_test               Bulgarian:Top/name_test/etc/
name_test               Danish:#name_test/etc/etc/etc/#
name_test               Korean:#name_test/etc/etc/#
name_test2              Russian:#name_test/etc/#
name_test5              etc:#name_test/#
name_test/etc

注意:例子中只有这个#filds#必须修改

以其他方式开始的其他记录不被修改 任何帮助将不胜感激!

最佳答案

这应该适合你:

UPDATE table
SET column2 = concat('Top/', column2)
WHERE column2 LIKE 'name_test/%'

关于mysql - 如何使用sql update在mysql中编辑多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12994776/

相关文章:

php - 不先选择mysql更新字段

mysql - 用于比较表中较早值的 SQL 查询

mysql - 为什么order by子句可以使用索引?

php - 将一个表中的值插入到另一个表中

MySQL 错误代码 1064 语法错误

mysql - 如何将 to_timestamp ('12-10-18 12:00:16.565736000 PM' ,'DD-MM-RR HH12:MI:SSXFF AM' ) 转换为 MySQL

sql - Postgres : "cumulative" view of table

mysql - 我不想在一个连接上有多个记录

mysql - 同一行的约束

arrays - 将数据插入 postgresql 中表的用户定义类型元素