用phpMyadmin给MySQL数据表创建触发器遇到的问题
来源:互联网 发布:守望先锋皮肤推荐 知乎 编辑:程序博客网 时间:2024/05/09 11:44
今天给MySQL数据库的表创建触发器,想达到的效果是:修改a表的字段received之后,同时要将b表中的registerStatus更新为1,将registerIP改为receive值。
1、首先写建立触发器的sql语句:
1)插入时的:
CREATE TRIGGER insertref BEFORE INSERT ON a
FOR EACH ROW BEGIN
UPDATE b SET registerStatus =1 WHERE NEW.id = id and NEW.received is not null and NEW.received !='';
update b set registerIP=NEW.received where NEW.id = id;
end
2)删除时:
CREATE TRIGGER deleteref BEFORE DELETE ON a
FOR EACH ROW begin
update b set registerStatus =0 WHERE OLD.id = id;
update b set registerIP=NULL where OLD.id = id;
end
3)更新时:
CREATE TRIGGER updateref BEFORE UPDATE ON a
FOR EACH ROW BEGIN
update b set registerIP=NEW.received where OLD.id=id;
end
问题1:
写完语句执行的时候,报错,执行不了,原因是用phpMyAdmin执行建立触发器的时候,要将
输入sql语句页面的下方的Delimiter中输入//。
问题2:在建立好触发器之后,在做测试的时候,在a表中无法插入数据,报错:
1558 - Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50018, now running 50146. Please use mysql_upgrade to fix this error.
网上有很多帖子说是因为,之前升级过数据库,但是数据结构没有升级造成的。
解决办法:执行 sudo mysql_upgrade -u root -p 提示输入密码,输入密码之后,重启数据库。则可以插入数据了。
- 用phpMyadmin给MySQL数据表创建触发器遇到的问题
- phpmyadmin中遇到的问题
- MySQL触发器数据表同步
- Mysql触发器使用过程中遇到的问题
- 创建mysql数据表时,字段的int类型长度问题
- phpMyAdmin批量修改Mysql数据表前缀的方法
- phpmyadmin连接mysql的问题
- mysql创建外键时可能遇到的问题
- phpMyadmin 遇到的问题 很有用
- phpMyAdmin使用时遇到的问题
- mysql 触发器的创建、问题、解决方…
- mysql 触发器的创建、问题、解决方…
- mysql,phpmyadmin 的安装 时遇到的问题[1251 - Client does yAdmin tried to connect
- mysql中触发器的创建
- 关于linux下使用phpmyadmin给mysql表关联外键的问题和解决办法
- 关于linux下使用phpmyadmin给mysql表关联外键的问题和解决办法
- 【解决phpmyadmin 访问卡慢等问题】 phpmyadmin无法查看数据表的结构
- MySql学习--数据表的基本操作--创建数据表
- HTML5 随手记(3)
- ArcGIS教程:使用标注管理器
- 浅谈www.baidu.com和baidu.com
- jsp自定义标签的使用
- English——限定性定语从句与非限定性定语从句(二)
- 用phpMyadmin给MySQL数据表创建触发器遇到的问题
- 3.5 复习课
- Eclipse使用BlueStacks作为android模拟器
- 如何恢复相机不小心删除的照片呢
- Java IO: System.in, System.out, and System.error
- 12 rip-2 配置命令
- mysql 5.6.10.1安装时root 密码问题
- Android检查网络是否连接
- Android --- windows下搭建Linux环境下载编译Android源代码--解决下载android系统源码错误问题