濮阳杆衣贸易有限公司

主頁 > 知識庫 > Mysql中禁用與啟動觸發(fā)器教程【推薦】

Mysql中禁用與啟動觸發(fā)器教程【推薦】

熱門標(biāo)簽:遵義地圖標(biāo)注app 承德電腦地圖標(biāo)注 合肥營銷外呼系統(tǒng)收費 地圖標(biāo)注賺錢真假 陜西400電話如何申請 外呼系統(tǒng)從哪買 深圳 商家地圖標(biāo)注哪個好 德惠市地圖標(biāo)注

在使用MYSQL過程中,經(jīng)常會使用到觸發(fā)器,但是有時使用不當(dāng)會造成一些麻煩。有沒有一種辦法可以控制觸發(fā)器的調(diào)用呢?
觸發(fā)器顧名思義就是數(shù)據(jù)庫在一定的調(diào)條件自動調(diào)用的SQL語句,觸發(fā)器拒絕了人工調(diào)用的過程,由數(shù)據(jù)庫MYSQL數(shù)據(jù)庫自動的調(diào)用,執(zhí)行更加高效。

如何禁用觸發(fā)器呢?

1.新建兩張表:

表demo_1:

CREATE TABLE `demo_1` (
 `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
 `STUNAME` varchar(32) DEFAULT NULL COMMENT '名字',
 `AGE` tinyint(4) DEFAULT NULL COMMENT '年齡',
 PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

表:demo_2

CREATE TABLE `demo_2` (
 `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
 `STU_ID` int(11) DEFAULT NULL COMMENT '學(xué)生編號',
 `MATH` double DEFAULT NULL COMMENT '成績',
 PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

2.然后給demo_1創(chuàng)建一個觸發(fā)器

DROP TRIGGER IF EXISTS `insertTragger`;
DELIMITER ;;
CREATE TRIGGER `insertTragger` AFTER INSERT ON `demo_1` FOR EACH ROW begin
select ID INTO @v1 from demo_1 order by ID desc limit 1;
Insert into demo_2(STU_ID, MATH) values(@v1, 98.5);
end
;;
DELIMITER ;

3.觸發(fā)器是:在demo_1中添加一條數(shù)據(jù)時,demo_2中自動添加一條數(shù)據(jù)。

4.但是我不想每次出入數(shù)據(jù)都觸發(fā)觸發(fā)器呢,只有在我想觸發(fā)的時候才觸發(fā)。

重新編寫觸發(fā)器:

DROP TRIGGER IF EXISTS `insertTragger`;
DELIMITER ;;
CREATE TRIGGER `insertTragger` AFTER INSERT ON `demo_1` FOR EACH ROW begin
if @enable_trigger = 1 then
select ID INTO @v1 from demo_1 order by ID desc limit 1;
Insert into demo_2(STU_ID, MATH) values(@v1, 98.5);
end if;
end
;;
DELIMITER ;

5.調(diào)用觸發(fā)器

SET @enable_trigger = 1;
INSERT INTO demo_1(STUNAME , AGE) VALUES(‘小強', 17);
執(zhí)行之后,表demo_1中增加一條數(shù)據(jù)
2 小強 17
表demo_2中同樣也增加一條數(shù)據(jù)
2 2 98.5

6.禁用觸法器

SET @enable_trigger = 0;
INSERT INTO demo_1(STUNAME , AGE) VALUES(‘小強', 17);
執(zhí)行之后:
執(zhí)行之后,表demo_1中增加一條數(shù)據(jù)
2 小強 17

表demo_2中沒有增加任何數(shù)據(jù)

以上就解決了觸發(fā)器的靈活調(diào)用。

總結(jié)

以上所述是小編給大家介紹的Mysql中禁用與啟動觸發(fā)器教程,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • mysql 觸發(fā)器語法與應(yīng)用示例
  • MySql視圖觸發(fā)器存儲過程詳解
  • mysql觸發(fā)器原理與用法實例分析
  • mysql日志觸發(fā)器實現(xiàn)代碼
  • mysql觸發(fā)器之觸發(fā)器的增刪改查操作示例
  • mysql觸發(fā)器之創(chuàng)建多個觸發(fā)器操作實例分析
  • mysql觸發(fā)器之創(chuàng)建使用觸發(fā)器簡單示例
  • mysql觸發(fā)器簡介、創(chuàng)建觸發(fā)器及使用限制分析
  • MySQL 觸發(fā)器定義與用法簡單實例
  • MySQL觸發(fā)器概念、原理與用法詳解
  • 詳解MySQL數(shù)據(jù)庫之觸發(fā)器

標(biāo)簽:貴州 新余 南陽 揚州 三門峽 商丘 巴中 贛州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Mysql中禁用與啟動觸發(fā)器教程【推薦】》,本文關(guān)鍵詞  Mysql,中,禁用,與,啟動,觸發(fā)器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Mysql中禁用與啟動觸發(fā)器教程【推薦】》相關(guān)的同類信息!
  • 本頁收集關(guān)于Mysql中禁用與啟動觸發(fā)器教程【推薦】的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    通渭县| 庆安县| 岗巴县| 江西省| 秦皇岛市| 安化县| 祁门县| 余庆县| 夹江县| 台北市| 舞钢市| 鄢陵县| 长葛市| 金昌市| 宁强县| 巴中市| 宿州市| 陵川县| 潞西市| 肥西县| 金溪县| 报价| 绥宁县| 大庆市| 古丈县| 龙陵县| 喀什市| 武宣县| 如东县| 独山县| 湘阴县| 斗六市| 扎兰屯市| 丹江口市| 博白县| 油尖旺区| 西丰县| 十堰市| 巴林左旗| 八宿县| 鄂伦春自治旗|