我需要在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