今天守护裙子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了。
好了,不想继续唠叨原理什么的,因为真的很少用到数据库~
本篇文章略水~~