【问题标题】:Mysql: TRIGGER using SUBSTRINGMysql:使用 SUBSTRING 触发
【发布时间】:2017-07-02 17:12:39
【问题描述】:

我正在尝试创建一个 TRIGGER,它为列中更新的每个子字符串插入一个新行,假设我有一个子字符串用逗号分隔的条目,就像

foo,bar,bar,foo

对于每个逗号,我想在“table2”中插入一个新行
所以我会:

CREATE TRIGGER 'test' AFTER UPDATE ON 'database.table1'
FOR EACH ROW IF (NEW.entry != OLD.entry) THEN
    INSERT INTO table2
        ('id_entry', 'sub_entry')
    VALUES
        (NEW.id, SUBSTRING_INDEX('NEW.entry',',',n+1))
END IF

当然这是不正确的,我不知道如何使它起作用。

【问题讨论】:

  • 数据库不是为这些东西而建的。您不应该在单个列中存储多个值

标签: mysql triggers substring


【解决方案1】:

您应该删除 substr 中 var 周围的单引号

  (NEW.id, SUBSTRING_INDEX(NEW.entry,',',n+1))

【讨论】:

    猜你喜欢
    • 2013-01-28
    • 1970-01-01
    • 2012-02-24
    • 2012-09-20
    • 1970-01-01
    • 2013-12-21
    • 2013-11-26
    • 2015-03-01
    • 2012-05-05
    相关资源
    最近更新 更多