MySql控制台没有响应
在输入触发器后,控制台似乎处于一种不响应正常命令的奇怪状态。我是不是无意中使用了分隔符MySql控制台没有响应,mysql,sql,triggers,console,delimiter,Mysql,Sql,Triggers,Console,Delimiter,在输入触发器后,控制台似乎处于一种不响应正常命令的奇怪状态。我是不是无意中使用了分隔符 mysql> use nntp; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> show tables; +--------------
mysql> use nntp;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------------+
| Tables_in_nntp |
+---------------------+
| articles |
| newsgroups |
| newsgroups_articles |
+---------------------+
3 rows in set (0.00 sec)
mysql> show triggers;
Empty set (0.00 sec)
mysql> DELIMITER $$
mysql> USE `nntp`$$
Database changed
mysql> CREATE
-> TRIGGER `nntp.newsgroups.before_insert`
-> BEFORE INSERT ON `nntp`.`newsgroups`
-> FOR EACH ROW
-> BEGIN
-> set new.hash = md5(new.newsgroup);
-> END$$
Query OK, 0 rows affected (0.18 sec)
mysql> DELIMITER $$
mysql> USE `nntp`$$
Database changed
mysql> CREATE
-> TRIGGER `nntp.newsgroups.before_update`
-> BEFORE UPDATE ON `nntp`.`newsgroups`
-> FOR EACH ROW
-> BEGIN
-> set new.hash = md5(new.newsgroup);
-> END$$
Query OK, 0 rows affected (0.19 sec)
mysql> show triggers;
-> ^CCtrl-C -- exit!
Aborted
thufir@dur:~$
创建触发器或例程后,需要重新更改分隔符,否则后续所有语句都必须使用相同的分隔符(在本例中为
$$
)
例如:
mysql> DELIMITER $$
mysql> USE `nntp`$$
Database changed
mysql> CREATE
-> TRIGGER `nntp.newsgroups.before_update`
-> BEFORE UPDATE ON `nntp`.`newsgroups`
-> FOR EACH ROW
-> BEGIN
-> set new.hash = md5(new.newsgroup);
-> END$$
Query OK, 0 rows affected (0.19 sec)
mysql> DELIMITER ;
mysql> show triggers;
注意分隔符
关键字的第二个用法