【问题标题】:What does $$ sign means in mysql? [duplicate]mysql中的$$符号是什么意思? [复制]
【发布时间】:2016-10-31 17:53:28
【问题描述】:

在 MySQL 查询中,$$ 表示什么?

DELIMITER $$
CREATE TRIGGER before_population_update
BEFORE UPDATE ON City
FOR EACH ROW BEGIN
INSERT INTO City_Changes
SET ACTION = ‘update’,
CityID = OLD.ID,
Population = OLD.Population,
User = USER(),
ChangedOn = NOW();
END $$
DELIMITER ;

【问题讨论】:

  • mysql 默认分隔符是 ;以及您在上述触发器定义中定义的其他分隔符 $$
  • 您将其定义为第一行中的分隔符。你认为这意味着什么?它没有特殊含义。
  • 这将帮助您粘贴所有文本,直到 $$ 在单个块中执行
  • 我认为这个问题应该存在,但仍被标记为重复。如果您不知道 $$ 是分隔符,您就不会知道要搜索它,而是搜索此问题的标题。

标签: mysql


【解决方案1】:

触发器和存储过程[可能]由多个语句组成,每个语句都由; 终止。由于; 用于终止单个语句,因此他们需要一种方法来指示过程/触发器已完成——这就是delimiter 命令发挥作用的地方。

在第一行,我们定义以下触发器将由$$ 序列分隔(结束)。然后我们继续声明一个触发器(按照我们的定义,以create trigger 开始并以$$ 结束)。然后,在最后一行,我们将 delimiter 重置为默认的 ; 以进行良好的测量。

【讨论】:

    猜你喜欢
    • 2015-02-13
    • 1970-01-01
    • 2013-01-26
    • 1970-01-01
    • 2011-02-27
    • 2014-12-06
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多