Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
拖放触发器在mysql中是如何工作的?_Mysql_Sql - Fatal编程技术网

拖放触发器在mysql中是如何工作的?

拖放触发器在mysql中是如何工作的?,mysql,sql,Mysql,Sql,我有一个问题是关于触发器是如何工作的 我使用此命令删除触发器: DROP TRIGGER IF EXISTS `database`.`mytrigger`; 但我的问题是,你能用表名触发选择它吗?例如: DROP TRIGGER IF EXISTS `table`.`mytrigger`; 我试过了,但是设置tablename时触发器没有被删除 谢谢 不,因为这并不是唯一标识触发器的方法,而且它最终看起来就像您试图说您有一个名为table的数据库。如果只想省去数据库名称,则不需要将其替换为任

我有一个问题是关于触发器是如何工作的

我使用此命令删除触发器:

DROP TRIGGER IF EXISTS `database`.`mytrigger`;
但我的问题是,你能用表名触发选择它吗?例如:

DROP TRIGGER IF EXISTS `table`.`mytrigger`;
我试过了,但是设置tablename时触发器没有被删除


谢谢

不,因为这并不是唯一标识触发器的方法,而且它最终看起来就像您试图说您有一个名为
table
的数据库。如果只想省去数据库名称,则不需要将其替换为任何内容:

DROP TRIGGER IF EXISTS `mytrigger`;

表级别不存在触发器。它们是仅与表关联的数据库级对象。没有办法按相关表删除它们。

因此,如果我在每个表上自动创建一个触发器来保存行的更新日期(例如更新的日期触发器),我还应该添加表名(mytable\u更新的日期触发器)?是。SQL将大多数对象名称(包括触发器和键)作用于数据库,因此合理的命名方案应该包括它们所属的表的名称。(我能马上想到的唯一例外是列。)因此,如果我在每个表上自动创建一个触发器来保存行的更新日期(例如updated_date_trigger),我还应该添加表的名称(mytable_updated_date_trigger)?我似乎是一个合理的命名方案,在触发器的名称中包含相关表名。没有办法通过相关表删除它们。嗯,放下桌子是放下扳机的一种手段:)尽管不在问题的上下文中。