亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql創(chuàng)建觸發(fā)器時(shí)報(bào)1064錯(cuò)誤問題及解決

 更新時(shí)間:2023年08月26日 15:48:42   作者:牧野風(fēng)涼  
這篇文章主要介紹了mysql創(chuàng)建觸發(fā)器時(shí)報(bào)1064錯(cuò)誤問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql創(chuàng)建觸發(fā)器時(shí)報(bào)1064錯(cuò)誤

1.這里有兩張表,book和enterbook,book表中的bookid是enterbook的外鍵,這里想創(chuàng)建一個(gè)insert觸發(fā)器,實(shí)現(xiàn)向enterbook表中添加一條數(shù)據(jù)時(shí),同時(shí)也會(huì)向book中添加一條數(shù)據(jù)。

book:

在這里插入圖片描述

enterbook:

在這里插入圖片描述

2.通常百度的mysql創(chuàng)建觸發(fā)器的語句是這樣的,

CREATE TRIGGER
  觸發(fā)器名
  BEFORE (AFTER) 
  觸發(fā)事件
ON
  表名
FOR EACH ROW 
BEGIN
  執(zhí)行語句列表
END

所以就這兩個(gè)表來說,創(chuàng)建的語句應(yīng)該是這樣的,

create trigger trigger_1
after insert on enterbook for each row
begin
	insert into book(bookid,bookname,writer,publisher,publishdate,quantity,price)
	values(bookid,bookname,writer,publisher,publishdate,quantity,price);
end;

雖然運(yùn)行結(jié)果顯示的是沒錯(cuò)誤,但在添加數(shù)據(jù)的時(shí)候,就會(huì)一直報(bào)錯(cuò)。

在sql語法中有兩張表,對(duì)于insert操作來說,inserted存放的是要插入的數(shù)據(jù),deleted表存放的是被刪除的記錄。

但是在mysql的語法中,不是inserted表和deleted表,而是new和old表,所以此處觸發(fā)器語句應(yīng)該改成:

create trigger trigger_1
after insert on enterbook for each row
begin
	insert into book(bookid,bookname,writer,publisher,publishdate,quantity,price)
	values(new.bookid,new.bookname,new.writer,new.publisher,new.publishdate,new.quantity,new.price);
end;

劃重點(diǎn)!?。∏f不能漏了分號(hào)

mysql觸發(fā)器for each row解釋

create trigger mytrigger alert insert on t_a for each row
begin
? ? ? ? insert into t_b
? ? ? ? ? ? set name=new.name,
? ? ? ? ? ? set number=new number;

程序體或者是

? ? set @name=new.name;
? ? set @number=new.number;
? ? insert into t_b (name,number) values (@name,@number);
end
  • foreachrow每行受影響,觸發(fā)器都執(zhí)行,叫行級(jí)觸發(fā)器。
  • oracle觸發(fā)器中分行級(jí)觸發(fā)器和語句級(jí)觸發(fā)器,可不寫foreachrow,無論影響多少行都只執(zhí)行一次。
  • mysql不支持語句觸發(fā)器,所以必須寫foreachrow;

觸發(fā)器的old和new

after觸發(fā)器—是在記錄操縱之后觸發(fā),是先完成數(shù)據(jù)的增刪改,再觸發(fā),觸發(fā)的語句晚于監(jiān)視的增刪改操作,無法影響前面的增刪改動(dòng)作

before觸發(fā)器—是在記錄操縱之前觸發(fā),是先完成觸發(fā),再增刪改,觸發(fā)的語句先于監(jiān)視的增刪改,我們就有機(jī)會(huì)判斷,修改即將發(fā)生的操作,如:我們?cè)谟|發(fā)之前需要判斷new值和old值的大小或關(guān)系,如果滿足要求就觸發(fā),不通過就修改再觸發(fā);如:表之間定義的有外鍵,在刪除主鍵時(shí),必須要先刪除外鍵表,這時(shí)就有先后之分,這里before相當(dāng)于設(shè)置了斷點(diǎn),我們可以處理刪除外鍵。

  • 對(duì)于INSERT語句, 只有NEW是合法的;
  • 對(duì)于DELETE語句,只有OLD才合法;
  • 對(duì)于UPDATE語句,NEW、OLD可以同時(shí)使用。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Navicat Premium15連接云服務(wù)器中的數(shù)據(jù)庫問題及遇到坑

    Navicat Premium15連接云服務(wù)器中的數(shù)據(jù)庫問題及遇到坑

    這篇文章主要介紹了Navicat Premium15連接云服務(wù)器中的數(shù)據(jù)庫問題及遇到坑,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • 數(shù)據(jù)結(jié)構(gòu)-樹(三):多路搜索樹B樹、B+樹

    數(shù)據(jù)結(jié)構(gòu)-樹(三):多路搜索樹B樹、B+樹

    這篇文章主要介紹了多路搜索樹B樹、B+樹,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • mysql 獲取當(dāng)天發(fā)布的信息的語句

    mysql 獲取當(dāng)天發(fā)布的信息的語句

    mysql 獲取當(dāng)天發(fā)布的信息的實(shí)現(xiàn)語句,需要的朋友可以參考下。
    2010-03-03
  • mysql中主鍵索引和聯(lián)合索引的原理與區(qū)別

    mysql中主鍵索引和聯(lián)合索引的原理與區(qū)別

    索引是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),本文主要介紹了mysql中主鍵索引和聯(lián)合索引的原理與區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04
  • Mysql數(shù)據(jù)庫不同官方版本對(duì)比詳細(xì)分析

    Mysql數(shù)據(jù)庫不同官方版本對(duì)比詳細(xì)分析

    MySQL是一個(gè)流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),有多個(gè)版本,這篇文章主要介紹了Mysql數(shù)據(jù)庫不同官方版本對(duì)比的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • MySQL使用TEXT/BLOB類型的知識(shí)點(diǎn)詳解

    MySQL使用TEXT/BLOB類型的知識(shí)點(diǎn)詳解

    在本篇文章里小編給大家整理的是關(guān)于MySQL使用TEXT/BLOB類型的幾點(diǎn)注意內(nèi)容,有興趣的朋友們學(xué)習(xí)下。
    2020-03-03
  • myeclipse中連接mysql數(shù)據(jù)庫示例代碼

    myeclipse中連接mysql數(shù)據(jù)庫示例代碼

    這篇文章主要為大家詳細(xì)介紹了MyEclipse連接MySQL數(shù)據(jù)庫圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Mysql8.0密碼問題mysql_native_password和caching_sha2_password詳解

    Mysql8.0密碼問題mysql_native_password和caching_sha2_password詳解

    這篇文章主要介紹了Mysql8.0密碼問題mysql_native_password和caching_sha2_password,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • MYSQL批量UPDATE的兩種方式小結(jié)

    MYSQL批量UPDATE的兩種方式小結(jié)

    本文主要介紹了兩種MySQL批量UPDATE的方式,SQL的foreach循環(huán)和使用INSERT...ON?DUPLICATE?KEY?UPDATE,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-11-11
  • 淺談mysql 自定義函數(shù)

    淺談mysql 自定義函數(shù)

    本文主要是分析了一下在工作中寫的一個(gè)mysql的自定義函數(shù),很簡(jiǎn)單,僅僅是希望能對(duì)大家理解mysql自定義函數(shù)有所幫助。
    2014-09-09

最新評(píng)論