0 0

我始终没有搞定的一个mysql存储过程5

寻找这样一个mysql存储过程,描述如下:

1、生成一批8位随机码,随机码的数量由过程传入的参数决定(已解决);

2、将这批生成的8位随机码插入到表中;

3、插入的随机码不能与表中已存在的随机码相重复;

4、这个问题已经折磨了我很久,我好想把他搞定。



谢谢各位了,谢谢了

问题补充:
我倒是写了一个过程如下:
create procedure p2()
begin
declare a varchar(2);
declare b int;
declare x varchar(2);
set b=0;
loop_label:  loop
set a=CONCAT(floor((9-0+1)*rand()),floor((9-0+1)*rand()));
set x=(select the  from testtable    order   by   id    desc  limit   1);
if a=x then
iterate loop_label;
else
insert into testtable(the) values(a) ;
commit;
end if;
set b=b+1;
if b>=32-1 then
leave loop_label;
end if;
end loop;
end
但是很明显出来的结果不是我想要的,这个只是每一个结果跟上次的比看是否是相等,每一次的跟上次的比,我需要的是一个每一次的跟全局的比,谁能完善优化一下这个存储过程啊?
问题补充:
还有一点就是,一定要全随即,自增长显然不是我想要的结果
2008年6月19日 18:08

1个答案 按时间排序 按投票排序

0 0

8位随机码不能重复,只要不重复即可是吧?那8为随机码不能是increment数字?或者a_z0_9这写字符排个顺序,
00000001
00000002
0000000z
........
aaaaaaa0
........
aaaaaaaz
这样子不行吗?
每次调用存储过程的时候,select max(...) from ......那么不是得到上一次随机码的结果了吗?
当然你要锁住整个表。

不过我没有写过MYSQL存储过程。

2008年6月19日 23:48

相关推荐

    搞定难点MySQL神秘的约束机制

    - **定义**:尽管MySQL不直接支持标准SQL中的`CHECK`约束,但它提供了其他方式来实现类似的功能,如使用触发器或存储过程。 - **示例**: ```sql -- 假设想要确保年龄必须大于0 CREATE TABLE people ( id INT ...

    轻松八句话 教会你完全搞定MySQL数据库

    MySQL数据库是全球最受欢迎的开源关系型数据库管理系统之一,它以其高效、可靠且易于学习的特点深受开发者喜爱。在本文中,我们将通过八条关键知识点,帮助你深入理解和掌握MySQL数据库的精髓,让你能够轻松应对各种...

    jsp mysql 中文输入一次搞定

    然而,在实际操作中,开发者经常会遇到一个问题:当用户在前端使用中文输入时,这些数据在后台存储到MySQL数据库中可能会出现乱码。这个问题涉及到多个层面,包括编码设置、数据库配置以及框架的配置等。本文将详细...

    python工具-excel批量导入mysql (几千万数据半小时可搞定)

    本篇文章将详细讲解如何利用Python工具实现Excel数据的批量导入到MySQL数据库,以及如何优化这一过程,使得几千万的数据能够在半小时内完成导入。 首先,我们需要了解Python中用于操作Excel的主要库——pandas。...

    如何完全搞定MySQL数据库

    MySQL数据库是世界上最受欢迎的关系型数据库管理系统...这只是一个基础,MySQL还有更多高级特性,如视图、存储过程、触发器和事务处理,这些都是进阶学习的内容。不断实践和探索,你将能够完全掌握MySQL数据库的使用。

    mssql转mysql 神器,转换轻松搞定!!

    总之,从MSSQL到MySQL的数据迁移是一个涉及多个层面的过程,包括数据结构、数据迁移、功能兼容性以及性能优化。使用专业的转换工具,如`mssql-Convert-mysql`,可以极大地提高效率并减少错误,但用户仍需具备一定的...

    mysql索引数据结构详解

    每个页结点可以存储多个元素,每个元素都指向一个子节点或一个数据记录。树的根结点是 B+ 树的入口,每个结点都包含一个指向子节点或数据记录的指针。 索引的查询过程 当我们查询数据时,需要从树的根结点开始,...

    ⼗招搞定 MySQL ⼤规模数据库的性能和伸缩性优化

    InnoDB 页面压缩是一个节省存储空间和提高性能的技术,它在写入数据时进行页面级别的压缩。压缩后的数据在磁盘上占用更少空间,同时减少内存和磁盘间的数据传输。不过,页面压缩不适用于共享表空间中的表。 批量...

    用apachetoolbox轻松搞定apache,php,mysql,jsp,ssl,gd

    这款工具简化了在Linux环境中安装和管理这些服务的过程,对于初学者和经验丰富的系统管理员来说,都是一个非常实用的解决方案。 首先,Apache是世界上最流行的Web服务器软件,它提供了稳定、高效且可定制的HTTP服务...

    Navicat Lite for MySQL 8.0

    在MySQL 8.0的支持上,Navicat Lite充分利用了这个新版本的各种特性,包括增强的性能、新的JSON操作、窗口化存储过程以及改进的查询优化器。这些特性使得Navicat Lite在处理大数据和复杂查询时更加得心应手。 总之...

    实战分享:使用Python和AES-GCM加密MySQL数据库中的手机号等敏感数据(上亿数据量轻松搞定)

    本资源提供了一个功能强大的Python脚本,旨在帮助用户轻松实现对MySQL数据库中电话号码等敏感数据的加密保护。 该脚本采用AES-GCM加密模式,这是一种结合了加密和消息认证的强大加密算法,能够确保数据在传输和存储...

    Mysql 之 入门一篇搞定

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,尤其适合用于Web应用程序的数据存储。本文将带你快速入门MySQL,了解其基本概念、数据库分类以及如何在Linux系统上进行安装和操作。 首先,让我们了解一下数据库...

    局域网全搞定----服务器

    WWW(World Wide Web)是一个全球性的信息存储库,用户通过浏览器(如Chrome、Firefox等)访问。浏览器提供交互式的界面,显示包含文本和图形的页面,其中某些元素可点击,用户通过点击就能获取相关信息。这种超链接...

    Python3实现的爬虫爬取数据并存入mysql数据库操作示例

    在本示例中,我们将深入探讨如何使用Python3编写一个简单的网络爬虫,该爬虫能够抓取特定网页上的数据,并将这些数据存储到MySQL数据库中。首先,我们需要了解几个关键的Python库,包括`requests`、`re`(正则表达式...

    一文搞定MySQL基本命令(更新中)

    本文将概述MySQL的基本命令,包括数据库的创建、选择、显示,表的操作,数据的增删改,数据完整性的概念以及约束,还有索引、视图、存储过程、流程控制、触发器、事件、事务和安全管理。 1. **数据库创建、选择、...

    3步搞定纯真IP数据导入到MySQL的方法详解

    - **创建表结构**:在MySQL中创建一个新的表`ip`,用于存储纯真IP数据。 ```sql CREATE TABLE `ips`.`ip` ( `ip_start` VARCHAR(16) NOT NULL, `ip_end` VARCHAR(16) NULL, `region` VARCHAR(128) NULL, `...

    《零基础:21天搞定Python分布爬虫》课件

    在IT领域,Python爬虫是一项重要的技能,尤其对于...对于希望提升自己爬虫技能的人来说,这是一个非常有价值的学习资源。通过21天的学习,你将能够独立编写出功能完善的Python爬虫,甚至可以处理复杂的分布式爬虫项目。

    计算机软件-商业源码-化学元素显示问题被我搞定.zip

    在这个“计算机软件-商业源码-化学元素显示问题被我搞定.zip”压缩包中,我们可以推测作者解决了一个关于化学元素显示的特定问题。这通常涉及到化学软件或者教育软件的开发,可能是一个可视化工具,用于帮助用户学习...

    数据备份还原,全部使用代码搞定

    在C#(Winform)环境下,我们可以创建一个用户界面,通过按钮触发备份和还原操作。首先,我们需要引入MySQL的数据提供者,通常通过NuGet包管理器安装`MySql.Data`库。这个库包含了与MySQL服务器交互所需的类和方法,...

Global site tag (gtag.js) - Google Analytics