首頁 資料庫 mysql教程 创建角色随机名字(mysql抽取随机记录)和mysql游标的使用_MySQL

创建角色随机名字(mysql抽取随机记录)和mysql游标的使用_MySQL

Jun 01, 2016 pm 01:02 PM
名字 遊標 角色

最近在开发中遇到了一些问题,在此记录一下解决的方法,已作备忘。

1、现在创建游戏角色的时候,基本上都是支持角色名字随机的,以前此功能在客户端用代码实现,然后向服务器请求并验证,后来发现有时候连续几次都失败,所以改成在服务器实现。实现方法主要考虑使用mysql随机查询记录,在网上查了很多方案,然后用在了我们游戏中。

实现方案是,将所有随机名字都插入到一张表中,然后从中随机取一条当前角色表中没有出现过的名字。

BEGIN		
	DECLARE randnum int DEFAULT 0;
	SELECT FLOOR(RAND() * 309034) INTO randnum;
	SELECT rname INTO _name FROM `names` WHERE ((_sex = sex) AND
		(rname not in (SELECT Name FROM longwen.player WHERE _world = WorldID)) AND
		(id > randnum)) LIMIT 1;
		
	set returnvalue = 0;
END
登入後複製
2、接运营的需求,有时候因为服务器维护,需要给所有玩家送一些东西,这时候涉及离线玩家,所以我们的方案是静态写数据库。

因为对mysql没有深入研究过,在实践的过程中发现游标操作只能修改一条数据,后来查了很多资料,还是解决了问题,自己也学到了一点知识,修改后存储过程如下:

DECLARE _cursor CURSOR FOR 
SELECT RoleID FROM player WHERE (RoleID NOT IN (SELECT roleID FROM email where LENGTH(datas) <> 0)); 
DECLARE CONTINUE HANDLER FOR SQLSTATE &#39;02000&#39; set _done = 1;

OPEN _cursor;  
set _done = 0;
REPEAT
	FETCH _cursor into _roleId;
	replace into email(roleID, datas) values(_roleId, &#39;test&#39;);
UNTIL _done END REPEAT;
CLOSE _cursor;
登入後複製
修改前repeat里面有一条select语句。出现这个问题,主要是对SQLSTATE理解不够,02000异常有3种条件:

A:SELECT INTO 语句或 INSERT 语句的子查询的结果为空表。

B:在搜索的 UPDATE 或 DELETE 语句内标识的行数为零。

C:在 FETCH 语句中引用的游标位置处于结果表最后一行之后。

后来把select语句提出去放到游标声明语句里面就好了。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
提供無限免費訊息的CrushOn.AI的最佳替代方案 提供無限免費訊息的CrushOn.AI的最佳替代方案 Mar 06, 2024 pm 12:10 PM

我們將在本文中向您介紹CrushOn.AI的最佳替代方案,並提供免費且無限的訊息功能。現在市場上有許多人工智慧平台,用戶可以與來自動漫等各種媒體的角色進行對話,這為用戶提供了更有趣和互動性的體驗。什麼是CrushOn.AI? CrushonAI是一個AI聊天機器人平台,使用者可以透過與虛擬角色進行對話來體驗互動的樂趣。用戶有機會與動漫等多種媒體中的虛擬角色展開交流,建立聯繫,並創造與自己最喜歡的角色相關的故事情節。提供無限免費訊息的CrushOn.AI的最佳替代方案如果你正在尋找最好的Crush

蒼翼混沌效應有幾個角色 蒼翼混沌效應有幾個角色 Mar 21, 2024 pm 10:56 PM

《蒼翼混沌效應》擁有許多角色,每位角色都有獨特的身份和背景故事。為此,小編特為各位玩家整理了蒼翼混沌效應角色介紹。蒼翼混沌效應有幾個角色答:有7個角色。 1.【死神】拉格納·查·布拉德艾奇(綽號RG、尼桑)其與弟弟、妹妹曾由教堂修女撫養,在一天,六英雄之一的反派闖入,殺害修女,燒毀教堂,帶走妹妹,留下弟弟「事象兵器」冰劍雪女。 2、諾愛爾梵蜜利昂梵蜜利昂家的養女,與拉格納的妹妹長得幾乎一樣。畢業後進入統禦機關工作,擔任拉格納弟弟的秘書官。 3.λ-11統稱拉姆達、十一妹。原開發者放棄後,九重救並

錨點降臨新手十連角色推薦 錨點降臨新手十連角色推薦 Feb 20, 2024 pm 02:30 PM

錨點降臨是一款擁有高畫質美少女二次元主題的3D回合卡牌遊戲,提供了豐富角色的精彩組合可供玩家來探索和體驗,擁有許多精品陣容的強力搭配,新人玩家也是好奇新手池有哪些強力角色推薦,以下來看看新手十連金的選擇參考!錨點降臨新手池強力角色推薦第一個十連選艾莉絲,她主要是一個單體雷系爆發角色,單體輸出非常爆炸的,對新人的體驗也會是非常的友善的,所以十分推薦選取。 10抽必金建議選擇「艾莉絲」+「羚角」的組合,艾莉絲是最值得選的金皮雷屬性輸出角色,比新手卡池中的另外2個角色要強得不是一星半點。艾莉絲可以透過特

PHP如何實作角色權限管理系統? PHP如何實作角色權限管理系統? Jun 29, 2023 pm 07:57 PM

PHP是一種廣泛應用的程式語言,被廣泛用於創建和開發各種Web應用程式。在許多網路應用程式中,角色權限管理系統是一個重要的功能,它可以確保不同使用者擁有適當的存取權限。本文將介紹如何使用PHP來實作一個簡單而實用的角色權限管理系統。角色權限管理系統的基本概念是將使用者分為不同的角色,並為每個角色分配相應的權限。這樣,使用者只能執行他們有權限執行的操作,從而確保系統的

《蒼翼:混沌效應》角色推薦 《蒼翼:混沌效應》角色推薦 Mar 08, 2024 pm 04:16 PM

在《蒼翼:混沌效應》遊戲中有許多角色供玩家選擇,有很多玩家都想知道《蒼翼:混沌效應》角色推薦哪些,小編推薦大家選擇NO-11、白面、諾愛兒,接下來就由小編為大家詳細的介紹一下《蒼翼:混沌效應》角色推薦攻略吧,有興趣的玩家快來和小編一起看看吧!《蒼翼:混沌效應》角色推薦:一、NO -11角色解析1、NO-11的傷害高,且還有不錯的機動性。 2.上手難度一般,適合新手玩家使用。 3.專屬模組推薦強化跳a、技能和長按技能奧義。二、白面角色解析1、上手難度較高,適合有一定操作的玩家。 2.角色生存能力強,可以彈

偷偷去做了醫美? 《誅仙世界》角色美術升級階段性展示 偷偷去做了醫美? 《誅仙世界》角色美術升級階段性展示 Apr 30, 2024 pm 02:50 PM

《誅仙世界》二測結束後,玩家的評價兩極化。在二測結束後,官方也列出了調校清單,從經濟、養成、玩法、功能、美術五個面向進行調整。表示針對玩家回饋的問題都會做出相對應的最佳化對策。今日,《誅仙世界》放出了爆改計畫中角色醫美進度展示。透過畫面對比,來向展示這幾個月來,專案組對角色爆改的階段性成果。大家覺得哪個版本比較好看呢?以下是先前《誅仙世界》公佈的曝光計畫:

抖音名字怎麼改 怎麼更改抖音暱稱 抖音名字怎麼改 怎麼更改抖音暱稱 Feb 22, 2024 pm 03:13 PM

在主頁進入我的頁面,選擇編輯資料,然後選擇名字,刪除後再輸入要設定的名字儲存即可。教學適用型號:iPhone13系統:IOS15.3版本:抖音20.6.0解析1先開啟抖音,在首頁點選右下角我的選項。 2接著在我的頁面中點選頭像右側的編輯資料按鈕。 3然後在彈出的頁面中點擊名字選項。 4點選後面刪除圖標,再輸入要設定的名字,點選儲存即可。補充:抖音暱稱作用是什麼1抖音帳號暱稱設定的作用一方面就在於易分辨,另一方面就在於有利於用戶輸入搜索,最後則是有利於粉絲用戶的拓展創作。總結/注意事項抖音暱稱一天

如何在CakePHP中使用ACL角色? 如何在CakePHP中使用ACL角色? Jun 04, 2023 pm 06:21 PM

CakePHP是一款受歡迎的PHP開發框架,它提供了一個全面的權限控制機制,也就是AccessControlList(ACL)。使用ACL可以幫助你控制應用程式中每個使用者的存取權限。在本文中,我們將介紹如何在CakePHP中使用ACL角色。配置ACL元件首先,我們需要設定CakePHP中的ACL元件。在app_controller.php中加入以下程式碼:

See all articles