MySQL数据表字段内容的批量修改、清空、复制等更新命令

 更新时间:2011年08月07日 09:46:27   作者:  
MySQL数据表字段内容的批量修改、清空、复制等更新命令,需要的朋友可以参考下。
最近遇到一点麻烦事,新安装的PHPwind6.0正式版社区在导入之前的会员帐号资料时,发现很多会员的mail地址貌似胡乱填写的,之前的PHPwind5.5版本没有开启mail地址验证功能,所以估计很多用户胡乱填写了email地址,所以我就想要求所有正式会员重新验证邮件地址来重新激活会员帐号,结果发现社区根本没有这项功能,挣扎了N久,数据库的会员资料数据表被反复安装=删除了好几遍,总算找到了一个批量修改的方法。

不过这样操作会连社区创建者的账号都改成未激活,所以要是不清楚还真的不敢动手。

在PHPwind6.0的MySql数据库里,它的会员资料存在pw_members里面,会员帐号正常状态下这个数据表里的“yz”字段显示的值是1(即表示已经激活了帐号)。如果需要再次邮件激活,则这个值显示的内容必须与另一个字段"regdate"的值相同,程序在验证时自动检测两个字段的内容是否完全一样之后才会进行有效验证,否则会给出参数错误的提示。例如会员UID 1的“regdate”字段内容是1194067635,那么“yz”字段的值也一样是1194067635;以此类推,如果会员UID 2的“regdate”字段内容是1175320740,那么“yz”字段的值也一样是1175320740...

此时,由于可能的各种原因,“yz”字段的值可能并不是都是1(即表示已经激活了帐号)的状态,如何让“yz”字段的值和“regdate”字段内容保持一致呢?同时,因为会员资料N多,又如何批量转换所有会员帐号的这个字段值呢?

我用的方法是这样的

UPDATE table SET 被替换的字段名=被复制的字段名

应用到本文实例:
UPDATE pw_members SET yz=regdate

其中“pw_members”是数据表名称;“被替换的字段名”指的是在“pw_members”中你要修改的那个字段的名称,这里是“yz”;而“被复制的字段名”指的是提供字段内容给“yz”字段复制的字段名(好拗口哟!)“regdate”;这样可以批量将每个UID内的“yz”修改并复制成和“regdate”相同的值。而会员在下次登陆时社区就会要求他再次激活邮件帐号。

由于此举是批量修改,因为将会把包括社区创建者在内的所有账号都改成未激活,所以当执行完了以后,要立即把包括社区创建者在内不需要激活的账号改回正常状态。方法是在pw_members数据表的浏览状态下,选择你要改回正常状态的会员帐号,点击“编辑”进入之后找到“yz”字段,将字段的值例如“1194067635”改成“1”,这样这个会员帐号就恢复正常了;也可以用管理员帐号进入社区管理后台“会员管理”里将需要的会员ID手动激活。

另外,如何手动将同一数据表内不同字段之间的内容批量转换,可以参考下面的命令:

UPDATE table set 字段名=REPLACE(字段名,'原字符串','替换的字符串') where 已知的字段名 LIKE '%原字符串%'

应用到本文实例:
UPDATE pw_members set yz=REPLACE(yz,'1','2') where yz LIKE '%1%'

其中“pw_members”是数据表名称;“字段名”指的是在“pw_members”中你要修改的那个字段的名称,这里是“yz”;“原字符串”是字段“yz”现在默认的值“1”;而“替换的字符串”指的是你将要修改的字段“yz”新的默认值“2”。

如何批量将某个或某几个字段的数值清空?

UPDATE table set 字段名= '0'        清空字段数值

应用到本文实例:
UPDATE pw_memberdata set money= '0'        清空金币
UPDATE pw_memberdata set rvrc= '0'          清空威望
UPDATE pw_memberdata set credit= '0'        清空贡献值
UPDATE pw_memberdata set currency= '0'      清空交易币
UPDATE pw_memberinfo set deposit= '0'        清空活期存款
UPDATE pw_memberinfo set ddeposit= '0'      清空定期存款
UPDATE pw_membercredit set value= '0'        清空好评度

闪电博客评:文章网上找的,我的实际用法
mysql 更新(清空)某表某一字段内容:update 表名 set 字段名='',并没有0。

相关文章

  • mysql大批量插入数据的4种方法示例

    mysql大批量插入数据的4种方法示例

    这篇文章主要给大家介绍了关于mysql大批量插入数据的4种方法,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Mysql中使用count加条件统计的实现示例

    Mysql中使用count加条件统计的实现示例

    本文主要介绍了Mysql中使用count加条件统计的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • MySQL分区表的使用

    MySQL分区表的使用

    本文详细介绍了在MySQL中创建分区表的方法和注意事项,包括Range和List两种常见分区类型的具体操作流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-10-10
  • MySQL运行在docker容器性能损失解析

    MySQL运行在docker容器性能损失解析

    这篇文章主要为大家介绍了MySQL运行在docker容器中的性能损失解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • MySQL 按指定字段自定义列表排序的实现

    MySQL 按指定字段自定义列表排序的实现

    下面小编就为大家带来一篇MySQL 按指定字段自定义列表排序的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Mysql主从三种复制模式(异步复制,半同步复制,组复制)

    Mysql主从三种复制模式(异步复制,半同步复制,组复制)

    这篇文章主要介绍了Mysql主从三种复制模式(异步复制,半同步复制,组复制),MySQL异步复制是主从复制过程中默认的复制模式,下文简单介绍,感兴趣的朋友可以参考一下
    2022-08-08
  • MySQL数据库复合查询操作实战

    MySQL数据库复合查询操作实战

    mysql表的查询都是对一张表进行查询,在实际开发中这远远不够,下面这篇文章主要给大家介绍了关于MySQL数据库复合查询的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • MySQL中distinct与group by之间的性能进行比较

    MySQL中distinct与group by之间的性能进行比较

    这篇文章主要针对MySQL中distinct与group by之间的性能进行比较,内容比较详细,很直观的能看出比较结果,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • Navicat连接MySQL错误描述分析

    Navicat连接MySQL错误描述分析

    最近遇到了一件非常棘手的问题,用Navicat连接MySQL总是出错, 网上查阅了一下原因,最终找到解决方案,好吧,下面我就来回忆一下自己怎么处理这问题的,分享到脚本之家平台需要的朋友参考下吧
    2021-06-06
  • 使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失

    使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失

    这篇文章主要介绍了使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失的相关资料,需要的朋友可以参考下
    2015-09-09

最新评论