Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.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 在sql中查找触发器_Mysql_Sql_Timestamp - Fatal编程技术网

Mysql 在sql中查找触发器

Mysql 在sql中查找触发器,mysql,sql,timestamp,Mysql,Sql,Timestamp,我有一个SQL表,它显然在列上有触发器。当我做DESC时,我得到 +-----------------+---------------+------+-----+----------------------+--------------------------------+ | Field | Type | Null | Key | Default | Extra | +------

我有一个SQL表,它显然在列上有触发器。当我做
DESC
时,我得到

+-----------------+---------------+------+-----+----------------------+--------------------------------+
| Field           | Type          | Null | Key | Default              | Extra                          |
+-----------------+---------------+------+-----+----------------------+--------------------------------+
| id              | bigint(20)    | NO   | PRI | NULL                 | auto_increment                 |
| processedAt     | timestamp(6)  | NO   |     | CURRENT_TIMESTAMP(6) | on update CURRENT_TIMESTAMP(6) |

我想在更新当前时间戳(6)时关闭
,然后在处理和更新完记录后再打开它。我是否可以这样做?在执行
显示触发器时
,我得到
空集
。是否有我可以调试/排除故障的方法?

根据
DESC
命令,可以假定此处没有触发器。表定义可能如下所示:

创建表tbl(
id bigint(20)非空自动增量主键,
processedAt时间戳(6)不为空
更新当前时间戳(6)时的默认当前时间戳(6)
);
要在更新时关闭
,您需要更改列定义:

ALTER TABLE tbl MODIFY COLUMN processedAt timestamp(6) NOT NULL 
  DEFAULT CURRENT_TIMESTAMP(6);
回过头来

ALTER TABLE tbl MODIFY COLUMN processedAt timestamp(6) NOT NULL 
    DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6);
或者创建一个真正的更新触发器:

CREATE TRIGGER tbl__tr_update BEFORE UPDATE ON tbl
    FOR EACH ROW SET NEW.processedAt = NOW();

Microsoft版本的sql中没有DESC命令。请标记正确的数据库引擎以获得更好的帮助。