【问题标题】:View with "autoincrement" column?使用“自动增量”列查看?
【发布时间】:2015-04-24 09:37:42
【问题描述】:

我正在寻找一种在 MySQL“CREATE VIEW”中插入一种自动增量列的方法。

我使用的 ORM 有一些限制,其中之一是每个表(或视图)必须只有一个唯一标识符...

无论如何...从这一点开始,我的观点将结果按两个字段分组。我需要一个技巧来在这个视图中添加第三列,以某种方式自动递增。

你有什么建议吗?

【问题讨论】:

  • 您使用的是哪个 ORM 或者这是一个秘密? ORM 并不是真正为改变您的数据库架构而设计的。
  • 请参阅this article,其中建议不要使用可视化工具添加自动增量列。
  • 这是一个历史性的内部发展。现在我需要应付它:-)

标签: mysql view composite-primary-key


【解决方案1】:

我认为您的答案是向您的 VIEW 添加一个行号,如下所示:

SELECT (SELECT COUNT(*) sales
      FROM yourTable ti
      WHERE ti.PKColumn < t.PKColumn) as Rank, t.PKColumn, t.otherColumns
FROM yourTable t
;

【讨论】:

  • 除非你不能在视图中这样做。特别是ERROR 1351 (HY000): View's SELECT contains a variable or parameter
  • @pala_ 哦!我忘记了,谢谢,我编辑了答案,我希望我的方法是正确的;)。
  • 这是一个很好的答案,也是每个编码人员都应该理解的通用 SQL 技术。 myNONsql 无法处理它是另一回事。 +1。
【解决方案2】:

好的,所以我必须连接两列,以创建一个新列,非常独特。它解决了我的问题,但这不是解决方案:)!

【讨论】:

  • 嗯,解决方案是,抛弃 ORM。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-06
相关资源
最近更新 更多