Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[经验] 关于“字段值重复”的解决方法

[复制链接]
浩飞 发表于 2009-1-6 16:23:22 | 显示全部楼层 |阅读模式
废话先不说,方法敬上:
1、打开 include/global.func.php 文件;
2、找到函数“getinsertsql”,默认是第955行;
3、函数中有一段是“$mode = $mode == 1 ? 'INSERT INTO ' : 'REPLACE INTO ';”,把它改成“$mode = $mode == 1 ? 'REPLACE INTO ' : 'REPLACE INTO ';”
4、保存、上传,再转换

注意:修改之前很备份源文件!!!

PS:
我查过dz的资料,管理员说是“数据包含特殊字符”,但论坛用户名,不排除包含特殊字符的可能性,所以这个问题我认为是很严重的问题。
当时我从其它论坛转到pw时候也出现这个情况,他们就是让我把INSERT改成REPLACE,问题就可以解决。
所以我按照这个模式应用在dz中,初步看来没什么问题,如果有更好的解决方案,欢迎交流。
回复

使用道具 举报

桃子(小敏) 发表于 2009-1-6 16:58:23 | 显示全部楼层
谢谢分享,有机会我试试
回复

使用道具 举报

lj98 发表于 2009-1-7 00:03:39 | 显示全部楼层
好在我只重复了一处,删除那条记录过关((em:13))
回复

使用道具 举报

beijing200808 发表于 2009-1-7 10:01:29 | 显示全部楼层
本帖最后由 beijing200808 于 2009-1-7 10:02 编辑

楼主的方法值得商榷。

用户名比较特别的会出现:插入mysql时,认为是用户名相同,但实际上用户名是不同的(两个不同用户)。如果用楼主的方法,就会把这两个用户归为一个用户了,随之,帖子、主题、短消息等,也会在这两个用户之间出现混乱。


不过还是非常感谢楼主,能将自己的经验跟大家分享
回复

使用道具 举报

 楼主| 浩飞 发表于 2009-1-7 14:24:09 | 显示全部楼层
的确会这样,但也只能死马当活马来医了,呵呵
回复

使用道具 举报

蓝豆 发表于 2009-1-8 00:04:43 | 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-17 03:52 , Processed in 0.100414 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表