Board logo

标题: [魔力私服分享] 另类防重名 之 MYSQL-触发器. [打印本页]

作者: 叶子    时间: 2013-6-13 00:17     标题: 另类防重名 之 MYSQL-触发器.

防重名的办法有很多.CG和GMSV 有条件的话都是可以做到的.—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. m( K! h, q' s8 w( W1 g/ r
现在告诉大家一个另类的办法.

1 S/ h/ e; E1 h魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& D  g5 d2 U9 ?9 O" E
触发器
4 |) u% V: \) b- l1 f6 i' a魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& K, c. t% b6 A4 ]; J" L. j+ I* H4 c
条件: mysql 5.X魔力私服,最新魔力宝贝私服技术交流2 C9 Z0 {9 d4 ?- A* V

7 W4 r3 |3 F! }+ Y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートNavicat 打开数据库, 右键tbl_character表 选择 设计表 - > 触发器bbs.mocwww.com# |) l- t6 K6 Z
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! I# T3 o/ W- d
下面介绍两种写法.
. u6 k" e2 ^5 r6 s魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, i1 L; r) O' j. D1 N" F
方法1:
% ]( {8 X. p; l) O: N9 O# V( j2 M7 E妖城在线论坛 魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- Y- C- @( d6 ?
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 A# d  O. M0 o+ L6 Q. h
解释: bbs.mocwww.com3 Y2 @" K& |3 h. O- s3 N- p: C+ c" b0 r
在插入数据前触发.如果有重复名的. 自动将插入的 name 字段 和 cdkey 字段 设置成 '0'魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) _; u& C# R6 ~8 g. R% e1 Y  d
修改后的语句仍然是正常的. 但是这个新建立的 名字:0 的角色 已经不属于玩家了.而是属于帐号:'0'
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 J2 U3 C) W: q- i

5 Y/ t3 g( c; v# m这时 游戏端 建立角色 显示建立成功.但是 没有角色. 防重名成功.魔力私服,最新魔力宝贝私服技术交流. e8 g, k; G1 {+ h# t2 q8 r# H

; L* |: O5 i: C/ A. f这种方法,游戏,服务器 不会产生任何错误信息. —魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート  @+ v. ^* N8 n4 ^# c
但是要保证 角色名'0' 和CDKEY'0' 不属于某玩家.说白了.就是GM把这帐号和角色名先注册掉.
妖城在线论坛2 Q5 j  o2 Q  F  r( {1 w

' G9 a1 z+ B$ g+ s) T+ z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート方法2:
6 e& m3 d2 b* Y" v% W3 S+ H
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 ]" u4 D. Z( a' C) L" N: \* w
解释:上面的语句可以看出. 在找到重名资料后, 触发器将 语句中的 cdkey设置成了null (空)
6 D8 L+ ?! p- S4 {# c. A但是数据库中  CdKey  是主键, 不允许空. 所以 GMSV
# l! n# Q  f* v3 v; b+ l. H: |8 B/ L会报MYSQL执行错误的信息,( ^; G" Y  u6 }$ h7 ^! A! R# N; V
意思就是 CDKEY 字段不允许为NULL
魔力私服,最新魔力宝贝私服技术交流' y  n$ Y' t: |% W* N* D# @
如图:
" e  J* D- q5 `( F+ t( a魔力私服,最新魔力宝贝私服技术交流
$ R* ?1 t& }. U—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
! l3 ~/ o) }4 I—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート同时客户端有错误提示.CG程序未汉化.
0 N# N/ f+ y% u1 f; Hbbs.mocwww.com
妖城在线论坛- F$ H; t" K' c# t
% j* F7 F* H0 ~/ y9 _" s0 s# N
翻译过来是角色创建失败.
1 o0 `4 b3 ]! H+ ]( O; J魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表可以UE 修改成[名字重复].
6 n, ]4 v/ c7 R
这种方法可以保证数据库的信息不会出错.但是GMSV报错看着比较难受.魔力私服,最新魔力宝贝私服技术交流! ^. X2 s) ^, k+ m
大家自行决定吧!
9 y: l4 {% q; V" G抛砖引玉 触发器 可以做很多事情.大家加油开发出更多的功能吧!

( q2 K% s+ \7 l  d" s$ ^魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
; ~6 C' a8 j' @; ibbs.mocwww.com% ]: K) n& J* E

  }) a% z# w9 |9 Fbbs.mocwww.com" m: E# o% F. T# f( T! X
[ 本帖最后由 叶子 于 2013-6-13 02:16 编辑 ]

图片附件: 01.jpg (2013-6-13 00:17, 64.44 KB) / 该附件被下载次数 178
http://bbs.mocwww.com/attachment.php?aid=15150



图片附件: 02.jpg (2013-6-13 00:17, 23.93 KB) / 该附件被下载次数 198
http://bbs.mocwww.com/attachment.php?aid=15151



图片附件: 03.jpg (2013-6-13 00:17, 76.54 KB) / 该附件被下载次数 177
http://bbs.mocwww.com/attachment.php?aid=15152



图片附件: 04.jpg (2013-6-13 00:17, 11.14 KB) / 该附件被下载次数 187
http://bbs.mocwww.com/attachment.php?aid=15153


作者: 101102    时间: 2013-6-13 00:28

支持,叶子
作者: lenovo    时间: 2013-6-13 10:03

trigger 在大量并发连接的时候不稳定
作者: nj001    时间: 2013-6-13 10:40

支持啊~~~~




欢迎光临 妖城在线论坛 (http://bbs.mocwww.com/) Powered by Discuz! 6.0.0