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