【问题标题】:SQL autoincrement in 'string'“字符串”中的 SQL 自动增量
【发布时间】:2014-01-30 22:41:16
【问题描述】:

我知道自动增量,为此我最好自己创建一个表,但出于某些特定的性能原因,我不希望这样做。

我有一排看起来像这样:

id,log
1 | 1:345;2:2345;3:234

有什么方法可以让我通过单个 SQL 更新将 X 添加到日志列,并自动将“4”作为日志条目的 ID?

【问题讨论】:

  • Answer = yes...字符串函数可以为您解决这个问题(可能有点难看?)。你在什么数据库上? SQL 风格之间的字符串语法不同
  • mysql 目前,但在某些时候我想将它移动到 nosql 像 mongodb 或类似的 - 但现在我不想弄乱很多软件(只是代码,我很好奇:))

标签: mysql sql string auto-increment


【解决方案1】:

从你的例子我不能完全确定,但看起来你甚至不需要索引号,即

id | log
1  | 345;234;234

因此您可以简单地添加条目,可以选择以; 为前缀。之后,任何代码都可以通过拆分; 来解释log 的内容。

【讨论】:

  • 是的,你是完全正确的,真是一个聪明的人......刚刚被困在一个单一的领域。 Explode + count 就可以了:)
【解决方案2】:

如何建立一个这样的新表:

my_log
-------
id
sub_id
val

并用所有正确的解析值填充它 -

如果需要,然后从这里查询以重建字符串,否则完全丢弃原始表 - 糟糕的设计。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 2017-05-12
    • 2014-02-21
    • 1970-01-01
    • 2013-05-21
    • 2015-12-30
    • 2020-11-16
    相关资源
    最近更新 更多