今天得到的成果。
今天下午在做觸發(fā)器,以前對(duì)這方面沒怎么注意過,今天做起來(lái)確實(shí)有點(diǎn)麻煩。現(xiàn)在就教大家一種比較簡(jiǎn)單的方法做觸發(fā)器。
我用的數(shù)據(jù)庫(kù)是mysql的,瀏覽工具是mysql-front。
用mysql-front打開自己想要建觸發(fā)器的表。
選擇新建trigger就會(huì)彈出
填入相關(guān)內(nèi)容,名稱test。單選按鈕看需求而定的。
在statement中填入:
set new.name="tom";
這樣就建立了一個(gè)很簡(jiǎn)單的觸發(fā)器了,其實(shí)在這里面可以寫多個(gè)處理語(yǔ)句。
特別注意的是當(dāng)你的處理語(yǔ)句是操作多個(gè)中方法的時(shí)候,請(qǐng)把你的sql語(yǔ)句防御begin……end之中。
點(diǎn)擊確定。
一個(gè)簡(jiǎn)單的觸發(fā)器就成功了。運(yùn)行一下………………出錯(cuò)了
彈出
這是怎么回事?
我將其歸納為mysql-front的錯(cuò)誤,
解決辦法。
找到表中的觸發(fā)器(這里需要在表上按F5刷新一下)
右鍵點(diǎn)擊NreTrigger,然后再是上面的“源代碼”選項(xiàng)
將其復(fù)制到文本文件中:將“root@localhost@%”修改為“root@localhost”
如:
CREATE DEFINER= root@localhost TRIGGER `lucene`.`NewTrigger` BEFORE INSERT ON `lucene`.`person`
刪除剛建立的觸發(fā)器
然后再sql編輯器中將上面的sql語(yǔ)句復(fù)制進(jìn)去,運(yùn)行。
再進(jìn)行測(cè)試看看。成功了。
FOR EACH ROW set new.name="tom";
-------------------------------------------------------------------------
本來(lái)上面有圖片的,可是由于自己的疏忽圖片不能顯示。實(shí)在對(duì)不起啦。
實(shí)在對(duì)不起大家了, 不過只要大家記住錯(cuò)誤所在也就好了。
posted on 2009-03-26 18:44 duduli 閱讀(1488) 評(píng)論(2) 編輯 收藏