求MYSQL触发器 表有字段A B C D 字段D的默认值为字段A B C的值的和谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DELIMITER $$DROP TRIGGER IF EXISTS `ttp1`$$CREATE TRIGGER `ttp1` BEFORE INSERT ON `ttp1` FOR EACH ROW BEGINSET new.d=new.a+new.b+new.c; END;$$DELIMITER ; CREATE TRIGGER `tr_表_bi` BEFORE INSERT ON `表` FOR EACH ROW SET NEW.D = NEW.A+NEW.B+NEW.C; 默认值的话应该改为如下。CREATE TRIGGER `tr_表_bi` BEFORE INSERT ON `表` FOR EACH ROW SET NEW.D = IFNULL(NEW.D, NEW.A+NEW.B+NEW.C) ;可以参考手册中的语法。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html LS都给出了方法 由于mysql现在不支持像mssql一样的计算列所以只能变相通过before触发器来实现其实也可以通过你的程序实现 mysql 中的全文 索引中,那个停止字符集的问题 MYSQL两个表查询的问题 帮我看下这个sql语句怎么写且效率高 请问将原有的mysql升级后,phpmyadmin怎么登陆不了了? mysql 能否在int(10)类型中取得前八位建立索引? 字段用 password()加密了,却用password() 读不出来了,是什么原因呢? 一个有错误的sqlite的查询语句,请帮忙改一下啦! windows下如何运行mysql 高手请指点 mysql中...怎样给一张表设置"主"键字段...... mysql中的int能存储为001这样的形式吗? 如何建立索引和建立表
FOR EACH ROW BEGIN
SET new.d=new.a+new.b+new.c;
END;
$$DELIMITER ;
FOR EACH ROW
SET NEW.D = NEW.A+NEW.B+NEW.C;
FOR EACH ROW
SET NEW.D = IFNULL(NEW.D, NEW.A+NEW.B+NEW.C) ;可以参考手册中的语法。MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
所以只能变相通过before触发器来实现
其实也可以通过你的程序实现