MYSQL必知必会 之触发器

XP系统,

前段时间下载MySQL5.6.12解压版,可以用,但是无论怎样远程用

mysql -h *.*.*.* -u root -p

*.*.*.*指服务器的ip,始终登陆不了,显示

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
这个错误按网上的各种说法一直没能解决,但是直接用

mysql -u root 是可以使用数据库的。

然后在我的电脑->管理->事件查看器里面看到MySQL有黄色的警告,说是只能用IPV6之类的意思。

到官网上找了下说是5.6好像有这个问题。反正不知道我电脑是不是确实是因为这个原因,

所以下载了安装版5.5.28装好后一切OK。不用怎么设置就可以直接使用。不管是命令行还是远程登陆都没有问题。


所以用MySQ建议安装这个版本 5.5.28

mysql-installer-community-5.5.28.3.msi

网上去搜这个文件名应该可以找到。


昨天晚上开始看      mysql必知必会  这本书电子版,讲的不深,算是了解一下吧。

今天看到触发器这一节,

里面的例子

输入   CREATE TRIGGER newproduct  AFTER INSERT ON products

           FOR EACH ROW SELECT 'Product added'

分析   此代码创建一个名为newproduct的触发器,触发器可在一个操作发生之前或之后执行,这里给出了AFTER INSERT,所以此触发器将在INSERT语句成功执行后执行。这个器还指定FOR EACH ROW,因此代码对每个插入行执行。在这个例子中,文本Product added 将对每个插入的行显示一次。

我电脑上装的是MySQL版本

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.12    |
+-----------+

执行这个例程会提示     ERROR 1415 (0A000): Not allowed to return a result set from a trigger

直接翻译过来就是触发器不允许有返回集。

http://forums.forta.com/messages.cfm?threadid=430BA0BA-D826-7C62-F5ABFC6AAF6B4585

在这里作者作了相关解释, that is allowed in other DBMSs, and was allowed in MySQL 5, but then not allowed by MySQL in later versions. Sorry.

这个是版本问题。在MySQL5之前是支持的,在之后的版本就不支持这种用法了。

http://www.newsmth.net/nForum/#!article/Database/118854 这里也有人讨论过这个问题。

个人觉得还是书的作者给出的解释比较地道。

可以用返回值或者其他方式看触发器是否工作。

你可能感兴趣的:(MYSQL必知必会 之触发器)