首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >栈在MySQL中的实现

栈在MySQL中的实现
EN

Database Administration用户
提问于 2013-03-02 18:54:57
回答 1查看 389关注 0票数 0

我对在MySQL中实现堆栈有一个抽象的想法。尝试了大量的谷歌工作,但无法得出任何合乎逻辑的结论。

堆栈必须是表的集合,堆栈顶部指向特定的表。我们的DB中可能有各种这样的堆栈。例如,如果表中的字段已满,则堆栈长度可能会增加。同样,堆栈长度也可能以相反的方式减小!

你能给我一个实现的想法吗?一开始真的有可能吗?希望我能回答清楚我的问题。

EN

回答 1

Database Administration用户

发布于 2013-03-03 03:23:00

如果您真的需要在MySQL中做一个堆栈,我认为您应该澄清为什么。MySQL的一个关键方面是它为单个应用程序的代码库提供了大量的基本假设。如果您在MySQL上,最好的方法就是实现这个应用程序端。如果确实需要在数据库中执行此操作,则需要重新考虑如何使用MySQL,或者是否要使用不同的数据库。将SQL视为MySQL上的公共API是有问题的,因为应用程序可以设置sql_mode,它可以确定如何处理无效数据,甚至可以确定什么是有效数据,而dba对应用程序使用的是什么模式没有控制。

尽管如此,数据库上的堆栈看起来可能类似于(假设您没有执行复合键):

代码语言:javascript
复制
CREATE TABLE stack_demo (
   id bigint autoincrement primary key,
   table_name text not null,
   key_name text not null,
   key_value text not null,
   nav_down bigint unique references stack_demo(id)
);

或者更好的是,PostgreSQL版本:

代码语言:javascript
复制
CREATE TABLE stack_demo (
   id bigserial primary key,
   table_name text not null,
   key_name text not null,
   key_value text not null,
   nav_down bigint unique references stack_demo(id)
);
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/35810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档