笨木头  2014-06-21 14:11     其它     阅读(3520)     评论(0)
转载请注明,原文地址: http://www.benmutou.com/archives/1200
文章来源:笨木头与游戏开发
 

今天守护裙子OL的玩家又找我说游戏数据被重置了(“又”?)

好吧,怎么老是这玩家的数据被重置呢?一看数据库,原来他的账户名有很多重复的:

account   actorID

kirito        24935

Kirito        24936 KIRITO    24937

 

好吧,我错了,我以account作为主键了,而MySql默认对字符串没有大小写区分,所以在Select和Update等操作的时候这些字符相同仅仅大小写不同的数据都被波及了。

于是当新玩家以相同账号名(大小写不同)注册新账号之后,就会把老玩家的数据给改了。

 
笨木头花心贡献,啥?花心?不呢,是用心~

转载请注明,原文地址: http://www.benmutou.com/archives/1200 

文章来源:笨木头与游戏开发
 

然后,废话就不多说了(你已经说了好多了好吧= =),要想account字段区分大小写,只要改改这个字段的属性就好了:

alter table user change column account account varchar(16) BINARY;

绿色部分当然就是表名和字段名了,关键就是最后的那个BINARY了。

 

好了,不想继续唠叨原理什么的,因为真的很少用到数据库~

本篇文章略水~~
0 条评论
发表评论
粤ICP备16043700号

本博客基于 BlazorAnt Design Blazor 开发