发新话题
打印

[魔力私服分享] 另类防重名 之 MYSQL-触发器.

另类防重名 之 MYSQL-触发器.

防重名的办法有很多.CG和GMSV 有条件的话都是可以做到的.
0 d8 q4 p$ Q; @妖城在线论坛现在告诉大家一个另类的办法.

# G  N: x+ K" R5 u" x, p3 {# Z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表bbs.mocwww.com% Q9 P4 N- _7 ^: ]) n
触发器
; }( R  \, L. `. h魔力私服,最新魔力宝贝私服技术交流妖城在线论坛/ K7 F& T9 Q, _  w5 T- @- {  {
条件: mysql 5.X魔力私服,最新魔力宝贝私服技术交流5 ~$ z, y1 f2 T9 z7 ?; g

! `8 F$ ?( v2 s( |' C魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表Navicat 打开数据库, 右键tbl_character表 选择 设计表 - > 触发器bbs.mocwww.com, O+ O5 z) K8 @1 F
- r' B4 f2 X& A$ r4 X* h3 c/ k
下面介绍两种写法.魔力私服,最新魔力宝贝私服技术交流" s2 R( t& q8 d6 k8 B/ Z
妖城在线论坛/ n2 C1 a3 C2 D' \* a
方法1:
& {4 X* E8 r' U0 V* c* A—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
3 ]5 N% _: y- Z7 q5 j6 ibbs.mocwww.com
5 ]% ~3 }8 Q2 {- z! v" ^% k8 v—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート解释:
" x' L+ X+ t: a9 O; N; O9 f8 cbbs.mocwww.com在插入数据前触发.如果有重复名的. 自动将插入的 name 字段 和 cdkey 字段 设置成 '0'魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 Z- X* K: F+ f; P* c) m" |$ S
修改后的语句仍然是正常的. 但是这个新建立的 名字:0 的角色 已经不属于玩家了.而是属于帐号:'0'
! ^: ~# K8 A6 q& F
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 P' q9 Q/ U1 O% J; Z3 I
这时 游戏端 建立角色 显示建立成功.但是 没有角色. 防重名成功.
( m. R* |9 F3 D) m. @9 y妖城在线论坛
* ?5 w8 A  p  Y1 j. K) B' L魔力私服,最新魔力宝贝私服技术交流这种方法,游戏,服务器 不会产生任何错误信息.
8 k* T: j7 u2 v9 ~2 V: B8 v/ r—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート但是要保证 角色名'0' 和CDKEY'0' 不属于某玩家.说白了.就是GM把这帐号和角色名先注册掉.
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ C; U8 }$ [, W0 S
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: V1 e1 D# |+ i0 H1 ^+ Q, w, X# N
方法2:妖城在线论坛$ i& Z- B3 v7 Z/ g) P
bbs.mocwww.com- \& w$ V8 f4 s6 ~. g
解释:上面的语句可以看出. 在找到重名资料后, 触发器将 语句中的 cdkey设置成了null (空)5 O5 K- A3 ?: B# r0 b
但是数据库中  CdKey  是主键, 不允许空. 所以 GMSV
7 t- v6 K  h/ u2 g3 q7 V& C会报MYSQL执行错误的信息,魔力私服,最新魔力宝贝私服技术交流$ V& a- c" r" g5 s; A
意思就是 CDKEY 字段不允许为NULL

0 S: o$ g& H$ R; E! p: w% i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート如图:bbs.mocwww.com0 s4 d9 R9 f2 X) d) \

, s7 X* y: i& n妖城在线论坛
; y6 l0 M6 U' `! P' J同时客户端有错误提示.CG程序未汉化.
0 u" y8 [, i+ K3 {( j! F. S魔力私服,最新魔力宝贝私服技术交流
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 A$ R" l! H- d7 z. s) P( K. Z
bbs.mocwww.com7 a( r5 C& V8 }4 A  B3 a! s
翻译过来是角色创建失败.妖城在线论坛$ }; R! h" V+ E( I$ i
可以UE 修改成[名字重复].

1 q$ Q0 P8 u: \. c( w9 ubbs.mocwww.com这种方法可以保证数据库的信息不会出错.但是GMSV报错看着比较难受.
' m9 [9 o6 L% \2 @0 L7 Qbbs.mocwww.com大家自行决定吧!bbs.mocwww.com# k. ~& P3 O, ?
抛砖引玉 触发器 可以做很多事情.大家加油开发出更多的功能吧!

- P% J9 ?( e( y; Y. R4 `3 o, J! Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
) d/ m$ D  B1 R1 M6 n% S—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
: O2 T4 }7 ?5 W% ?. F; C妖城在线论坛

0 ^8 Q) E! W0 ]7 q$ n- L: V8 D  Q+ {妖城在线论坛
' O( v6 e7 f" S% r  \$ ^—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート[ 本帖最后由 叶子 于 2013-6-13 02:16 编辑 ]
本帖最近评分记录
  • 小狐狸 妖力 +15 精品文章 2013-6-13 01:36
有事,请 -> 站内PM

TOP

支持,叶子

TOP

trigger 在大量并发连接的时候不稳定

TOP

支持啊~~~~
分享大神美德呀!分享大神美德呀!分享大神美德呀!
难道只拿东西不回么?很疑问呐...

TOP

发新话题