mysql - MySQL 中 ha_sequence 插件的使用

标签 mysql plugins mariadb

是否可以在 MySQL ( https://mariadb.com/kb/en/library/sequence-storage-engine/ ) 中使用 MariaDB 提供的 ha_sequence 插件?或者 MySQL 是否有类似的插件?我想在一个简单的行中列出两个数字之间的序列,而不需要过程、函数或表格。目前,我对我的序列使用此查询或解决方法,这是我发现的变体 here :

select (h*100+t*10+u+1) x from 
   (select 0 h union select 1 union select 2 union select 3 union select 4 union
   select 5 union select 6 union select 7 union select 8 union select 9) A, 
   (select 0 t union select 1 union select 2 union select 3 union select 4 union
   select 5 union select 6 union select 7 union select 8 union select 9) B, 
   (select 0 u union select 1 union select 2 union select 3 union select 4 union 
   select 5 union select 6 union select 7 union select 8 union select 9) C
where (h*100+t*10+u+1) between 1 and 366
order by x;

我正在 Debian 9 上使用 MySQL Community Server 5.7.23。我已经尝试将插件文件从 MariaDB 复制到我的 MySQL 服务器并安装它,但没有成功。我猜它与 MySQL 不兼容,因为它是 MariaDB 的插件。这是我尝试过的命令:

mysql> install plugin sequence soname 'ha_sequence.so';
ERROR 1126 (HY000): Can't open shared library '/usr/lib/mysql/plugin/ha_sequence.so' (errno: 2 /usr/lib/mysql/plugin/ha_sequence.so: undefined symbol: _ZN7handler11print_errorEim)

编辑(2018-09-17):

在接受答案之前,我还尝试编译 MySQL 的插件源代码。我是半成功的,因为我设法通过一些修改来编译它。但是,该插件需要 MySQL 中的类中的一些功能(函数),而这些功能在 MySQL 源代码中不存在。所以它不起作用。添加这些功能或直接在插件中实现解决方法,或根据我的需要修改 MySQL 源代码,会花费我很多时间。我真的不想深入研究 MySQL 和/或 MariaDB 的源代码。所以我放弃了,现在我使用上述查询。

最佳答案

不可以,MariaDB 插件仅适用于 MariaDB。

关于mysql - MySQL 中 ha_sequence 插件的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52298241/

相关文章:

mysql - Yii 查询生成器中的 IN 问题

php - Mysql Counter代码优化

MySQL 最大行大小为 L 个字符加 3=65535

mysql - 具有单事务参数的 mysqldump 的影响

grails - Grails积极维护和运行的付款插件

java - eclipse插件中的OSGI list

javascript - 如何通过 JavaScript 检测 Firefox 安装的 Adob​​e Acrobat 版本

mysql - SQL 禁用触发器

mysql - 如何在一个sql触发器中使用多个事件?

mysql - 阅读 MySQL 中的其他线程警告