mysql觸發(fā)器new old介紹
下面為您介紹mysql觸發(fā)器new old的相關(guān)知識,供您參考學(xué)習(xí),如果您在mysql觸發(fā)器方面遇到過類似的問題,不妨一看,相信對您會有所幫助。
mysql觸發(fā)器new old:
"NEW . column_name"或者"OLD . column_name".這樣在技術(shù)上處理(NEW | OLD . column_name)新和舊
的列名屬于創(chuàng)建了過渡變量("transition variables")。
對于INSERT語句,只有NEW是合法的;對于DELETE語句,只有OLD才合法;而UPDATE語句可以在和NEW以及
OLD同時使用。下面是一個UPDATE中同時使用NEW和OLD的例子。
- CREATE TRIGGER tr1
- BEFORE UPDATE ON t22
- FOR EACH ROW
- BEGIN
- SET @old = OLD.s1;
- SET @new = NEW.s1;
- END;
現(xiàn)在如果t21表中的s1列的值是55,那么執(zhí)行了"UPDATE t21 SET s1 = s1 + 1"之后@old的值會變成55,
而@new的值將會變成56。
觸發(fā)器的執(zhí)行間隔:FOR EACH ROW子句通知觸發(fā)器每隔一行執(zhí)行一次動作,而不是對整個表執(zhí)行一次。
列值遞增:
- create table a(
- id int primary key auto_increment,##設(shè)置為自動遞增
- name varchar(10)
- );
設(shè)置初始值為1000 :
ALTER TABLE tablename AUTO_INCREMENT=1000;
【編輯推薦】