嗨,我真的很陌生编程(菜鸟),因此我需要在 MySQL 数据库中将 de 值从一个列更改为另一个列。这里有一些信息:数据库:项目,表:用户,列2:数字1,列3:数字2。在数字 1 中,我有以下两种形式的数字数据:91234567
或 1000123456
我想将它们更改为以下形式:91aaaa67
或 91 * * * * 67
并1000aaaa56
或更改 * 的 a 并将它们放在数字 2 中。该表有多个用户,每个用户的数字完全不同。这意味着,在这两种情况下,我都想将第 2 列(数字 1)中的数字中的第三位到第六位数字从右到左更改,并将它们存储在第 3 列(数字 2)中。我尝试了以下代码:
UPDATE users SET number2 = REPLACE( number2, '91234567', '91****67' )
我在此链接中尝试了Andriy M的代码,但它对我不起作用,有关RowSetToUpdate函数出现了错误,我认为它是针对SQL而不是MySQL的
。所以我不知道如何做到这一点并使其自动化,我还有一个 php 文档,其中包含正确填充数据库的表单。我只想将此函数添加到数据库中!!我在Windows环境中使用phpmyadmin,php 5.4.7,mysql 5.5.27。
希望你能帮到我,提前谢谢你!!
UPDATE users
SET number2 = concat(left(number2, 2), '****', right(number2, 2))
SQLFiddle demo
你应该可以这样做
UPDATE users SET number2= CONCAT(LEFT(number1,2),'aaaa',RIGHT(number1,2)) WHERE LENGTH(number1) =8
和
UPDATE users SET number2= CONCAT(LEFT(number1,4),'aaaa',RIGHT(number1,2)) WHERE LENGTH(number1) =10