我真的很喜欢编程(noob),因此我需要在MySQL数据库中将de值从一个colum更改为另一个colum。这里有一些信息:数据库:项目,表:用户,第2列: number1 ,第3列: number2 。在 number1 中我有以下两种形式的数字数据:91234567
或1000123456
我想将它们更改为此表单:91aaaa67
或91 * * * * 67
和1000aaaa56
或更改*的's'并将它们放入 number2 。该表有几个用户,每个用户的数字完全不同。这意味着,在这两种情况下,我都想在第2列( number1 )的数字中从右向左更改第三到第六位数,并将它们存储在第3列( number2 )中。我尝试了以下代码:
UPDATE users SET number2 = REPLACE( number2, '91234567', '91****67' )
我尝试了Andriy M中的代码link但它对我不起作用,有关于RowSetToUpdate函数的错误,我认为它是针对SQL而不是MySQL。
所以我不知道怎么做并使其自动化,我还有一个php文档,其中包含正确填充数据库的表单。我只想将这个功能添加到数据库中!我在windows环境下使用phpmyadmin,php 5.4.7,mysql 5.5.27。
我希望你能帮助我,并提前谢谢你!
答案 0 :(得分:1)
UPDATE users
SET number2 = concat(left(number2, 2), '****', right(number2, 2))
答案 1 :(得分:0)
你应该能够像这样做
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