0

我有一个问题,我不知道如何解决。

为了简化我的问题,有一个带有链接的表格:

    fk linkid 链接
    1 1 www.stackoverflow.com
    1 2 www.google.com
    1 3 www.cnn.com
    2 4 www.other.com

然后我有另一个带有字符串列的表,用户可以在其中插入这些键,然后它应该替换它们。你输入一个像 L{a number} 这样的键,比如 L1。然后应将“L1”替换为 linkid 1 ..

    id 字符串列
    1 “嗨,我的第一个链接是 {L1]。更多文字 {L1} {L1} {L3} {L2}”
    2“到这里:{L4}”

所以当我加入他们的 id 1 时,我得到了这个:

    id linkid 链接 string_column
    1 1 www.stackoverflow.com “嗨,我的第一个链接是 {L1]。更多文字 {L1} {L1} {L3} {L2}”
    1 2 www.google.com “嗨,我的第一个链接是 {L1]。更多文字 {L1} {L1} {L3} {L2}”
    1 3 www.cnn.com “嗨,我的第一个链接是 {L1]。更多文字 {L1} {L1} {L3} {L2}”

我想得到的是:

    id 字符串列
    1 “嗨,我的第一个链接是 www.stackoverflow.com。更多文字 www.stackoverflow.com www.stackoverflow.com www.cnn.com www.google.com”

在mysql中可以写出这样的sql吗?正如您在上面看到的,我需要对 1 列进行替换,但从多行获取值,然后每个 id 只返回 1 个。

由于系统已经是它的方式,我无法更改设置,但只需要找到一种方法来解决这个问题。

4

1 回答 1

0

我认为这样做的唯一方法是编写一个脚本,在其中取出所有句子,从 L 中删除数字,搜索相应的链接并用该链接替换所有 {L1}。然后你用新的字符串更新数据库。

于 2012-12-16T20:03:45.300 回答