存储有关MySQL数据库的元数据的简便方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了存储有关MySQL数据库的元数据的简便方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1851字,纯文字阅读大概需要3分钟。
内容图文
![存储有关MySQL数据库的元数据的简便方法](/upload/InfoBanner/zyjiaocheng/881/a24f00fcfb03496aa49acea9cf5dc391.jpg)
今天早些时候,我asked用一种简单的方法来存储您在SQLite中使用的SQL表布局的版本号,并得到了使用PRAGMA user_version的建议.由于MySQL中没有Pragma,所以我想知道您将如何在MySQL中进行此操作(除了创建带有列“ DB-Scheme-Version”的名为“ META”的表之外).
只是重复我在链接的问题中所说的内容:我不是在寻找一种方法来找出安装了哪个版本的MySQL,而是要保存一个可以告诉我正在使用的MySQL-Scheme版本的nuber版本,而无需通过脚本检查每个表.
我也看到了this question,但是它只允许我对单个表进行版本控制.对于整个数据库,是否有类似的东西,或者最好是更容易的东西(因为分别查询每个表没有意思)?提前致谢.
MySQL的SET GLOBAL可能会起作用,但是我更喜欢这样一种解决方案,该解决方案不会在每次服务器重新引导时重置自身,并且不需要SUPER Privilege和/或访问配置文件即可使用.简而言之:它应该与租用小型Web托管程序包时获得的标准MySQL数据库一起使用,而不是与租用完整服务器时获得的标准MySQL数据库一起使用,因为您倾向于对它们进行更多访问.
解决方法:
根据您所拥有的特权,有两种选择.您拥有的特权越高,解决方案就越“优雅”.
最直接的方法是创建一个需要CREATE ROUTINE特权的存储函数.例如
mysql> CREATE FUNCTION `mydb`.DB_VERSION() RETURNS VARCHAR(15)
RETURN '1.2.7.2861';
Query OK, 0 rows affected (0.03 sec)
mysql> SELECT `mydb`.DB_VERSION();
+--------------+
| DB_VERSION() |
+--------------+
| 1.2.7.2861 |
+--------------+
1 row in set (0.06 sec)
如果您的特权将您限制为仅创建表,则可以创建一个简单的表并将版本设置为默认值:
mysql> CREATE TABLE `mydb`.`db_version` (
`version` varchar(15) not null default '1.2.7.2861');
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW COLUMNS FROM `mydb`.`db_version`;
+---------+-------------+------+-----+------------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+------------+-------+
| version | varchar(15) | NO | | 1.2.7.2861 | |
+---------+-------------+------+-----+------------+-------+
1 row in set (0.00 sec)
内容总结
以上是互联网集市为您收集整理的存储有关MySQL数据库的元数据的简便方法全部内容,希望文章能够帮你解决存储有关MySQL数据库的元数据的简便方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。