Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 单态函数_Mysql - Fatal编程技术网

Mysql 单态函数

Mysql 单态函数,mysql,Mysql,可以在mysql中创建一个单例函数吗 背景故事: 希望在MySQL中为一个项目重新创建Oracle的“序列”功能,以便返回的所有数字都是连续且不重复的 TIA您可以使用Distinct()操作符 select DISTINCT('your field') from `Your Table` 通过学习MYSQL网站上的示例,可以更好地理解这一点: 您可能可以使用Distinct()操作符 select DISTINCT('your field') from `Your Table` 通过学习M

可以在mysql中创建一个单例函数吗

背景故事: 希望在MySQL中为一个项目重新创建Oracle的“序列”功能,以便返回的所有数字都是连续且不重复的


TIA

您可以使用
Distinct()
操作符

select DISTINCT('your field') from `Your Table`
通过学习MYSQL网站上的示例,可以更好地理解这一点:


您可能可以使用
Distinct()
操作符

select DISTINCT('your field') from `Your Table`
通过学习MYSQL网站上的示例,可以更好地理解这一点:


感谢指针的帮助,在深入挖掘MySQL文档的内部之后,我最终创建了这个函数

DELIMITER //
CREATE
FUNCTION KBID_SEQ()
RETURNS INT
BEGIN
DECLARE kbid INT;
UPDATE KB_ID set SEQUENCE = LAST_INSERT_ID(SEQUENCE + 1);
select LAST_INSERT_ID() into kbid;
RETURN kbid;
END
//
DELIMITER ;

感谢指针的帮助,我在挖掘了MySQL文档的内部之后创建了这个函数

DELIMITER //
CREATE
FUNCTION KBID_SEQ()
RETURNS INT
BEGIN
DECLARE kbid INT;
UPDATE KB_ID set SEQUENCE = LAST_INSERT_ID(SEQUENCE + 1);
select LAST_INSERT_ID() into kbid;
RETURN kbid;
END
//
DELIMITER ;

与使用MySQL与Oracle序列等效的功能相比,您为什么要这样做:
auto_increment
?注意:Oracle序列不能保证它们是连续的(没有间隙)。如果缓存序列(出于性能原因,您应该这样做),那么它们可能会从共享池中过时,并跳过一些数字。与使用MySQL与Oracle序列等效的功能相比,您为什么要这样做:
auto_increment
?注意:Oracle序列不能保证它们是连续的(没有间隙)。如果缓存序列(出于性能原因,您应该这样做),那么它们可能会从共享池中过时,并跳过一些数字。