我需要在MySQL中编写触发器以确保每当将新行插入到表中时,其中一个字段的值将由其他字段的值的组合生成的特定值填充。如何使用触发器生成字段的值?
正如你可以第一时间我需要替换所有的空格在名称字段 - ,那么Concat的它 - 和手机领域的价值,并在年底结果放入昵称领域。
触发
The following query has failed: "CREATE DEFINER=`root`@`localhost`
TRIGGER `generatenickname` BEFORE INSERT ON `Users`
FOR EACH ROW
DECLARE temp = REPLACE(NEW.name, " ", "-");
SET NEW.nickname = concat(temp + '-' + NEW.phone);"
MySQL said: #1064 - You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near 'DECLARE temp = REPLACE(NEW.name, " ", "-"); SET
NEW.nickname = concat(t' at line 1
如果我围绕着它与BEGIN和END;并删除“FOR EACH ROW”它不显示错误,但将0放在昵称字段中。
谢谢,那么为什么声明一个新变量不起作用? – 2015-03-25 05:52:57