更新sql行而不删除数据

时间:2016-06-01 22:41:42

标签: mysql sql

可以做这样的事吗?

Makefile

是否可以为新闻表中的每一行处理此查询? 我想将文章的ID添加到文章标题中,如下所示: [1000] StackOverFlow

亲切的问候!

1 个答案:

答案 0 :(得分:1)

是的:

UPDATE news SET article_title=CONCAT('[',id,'] ',article_title);

您还可以在表news上添加触发器,以便自动执行此更新。它会是这样的:

CREATE TRIGGER trg_news 
   BEFORE INSERT ON news
   FOR EACH ROW
   BEGIN
       NEW.article_title = CONCAT('[',id,'] ', NEW.article_title);
   END;

请注意,此触发器仅适用于INSERT命令。这是因为对于update,你必须解析article_title,这样你就不会得到类似的结果:[1] someName[1] someName