这不是一个家庭作业问题!在构建我当前的学生数据库项目时,我意识到将来我可能想要识别有关数据库设计的全面信息。更重要的是,如果我有幸在这个领域找到了一份工作,并且得到了一个数据库项目,我该如何分解某些元素来进行识别呢……
在我之前的所有设计中,我一直使用MySQL社区服务器(GPL5.1.42),根据我的大部分教科书说明和MySQL 5.0参考手册::13存储引擎::13.1 MyISAM存储引擎,我认为我使用的是MyISAM
我认为这对于这个版本和控制台中"SHOW ENGINES“的使用实际上是不正确的……没有问题,弄清楚为什么他们有“版本”,需要注意正在使用的版本,以及需要一种方法来确定我将搞砸什么,如果我不注意细节的话……
Q1。具体地说,哪个语句将标识用户在最初创建数据库时使用的版本?(因为我创建了自己的数据库,所以我知道我使用的是什么版本)
Q2。具体地说,哪个语句将标识开发人员在创建数据库时使用的存储引擎。(我在我的集合中指定了一个特定的数据库,然后尝试显示引擎,但没有工作,然后尝试只从该数据库中的一个表中获取元数据:
mysql> duck_cust,table_type,engine -> FROM INFORMATION_SCHEMA.tables -> table_schema = 'tp‘-> ORDER BY table_type ASC,table_name DESC;
由于这并不是我真正想要的(并且没有成功),我正在从专业人士那里寻找一些方向……
Q3。(如果您真的愿意继续提供帮助)如果我要从较早/较晚的“版本”访问数据库,在维护/更新版本之间的数据时是否存在向后/向前兼容性问题?请提前感谢您的时间和努力!sammysmall
发布于 2010-05-01 03:27:20
当我测试它时,它工作得很好:
SELECT table_name, table_type, engine, version FROM INFORMATION_SCHEMA.tables
WHERE table_schema = 'tp' ORDER BY table_type ASC, table_name DESC;我不知道duck_cust在您的示例查询中是什么意思。这不是INFORMATION_SCHEMA.tables中的列,因此肯定会使查询出错。
在MySQL从一个版本升级到下一个版本时,我几乎没有遇到什么问题。但为了安全起见,我还是在升级软件之前做了一个数据库备份。
You should be in the habit of making backups regularly anyway。
https://stackoverflow.com/questions/2746957
复制相似问题