使用mysql 5.5以及mysql自帶命令客戶端
mysql中,觸發器用來監視某種情況並出發某種操作
比如在乙個電子商務中,下訂單後庫存應該相應的減少,這兩個邏輯可以看作是乙個整體。
觸發器可以監視:增、刪、改,可以觸發的操作:增、刪、改
* 觸發器有如下四要素:
1. 監視地點
2. 監視事件
3. 觸發時間
4. 觸發事件
建立觸發器
語法格式如下:
create trigger triggername //觸發器名稱
after/before //觸發時間
insert/update/delete //監視事件
on tablename //監視地點
for each row
begin
sql語句 # 一句或者多句,得在insert/update/delete 範圍內 //觸發事件
end;
# mysql預設是以英文分號`;`作為結束符,但是如果sql語句有多句的話,可以修改一下結束符,在sql中用`;`作為乙個句子的結束,在整個語句最後用新設定的結束符來結束
# 修改結束符:比如將結束符修改為`$`:`delimiter $`刪除觸發器:drop trigger triggername;
檢視觸發器:show triggers;
觸發時間的區別:before/after
before:在監視事件前觸發,即觸發的語句先於監視的增、刪、改,這樣就有機會判斷修改即將發生的操作 after:在監視事件後觸發,即觸發語句是在監視的事情完成後才發生,其無法影響監視事件的動作
在觸發器中引用行的值
insert:對insert而言,新增加的行,用new來表示,對行中列的值用new.colname來表示 delete:對delete而言,原來的行被刪掉了,想要引用被刪掉的這一行資料,可以使用old來表示,對行中的資料用old.colname來表示 update:對update而言,對於被修改的行,引用修改前的資料用old.colname,引用修改後的資料用new.colname
使用場合:
向一張表中新增或者刪除記錄時,需要在相關表中進行同步操作 當表上某列資料和其他表中的資料有聯絡的時候。比如可以通過設計觸發器判斷客戶累計欠款是否超出最大限度 需要對某一張表進行跟蹤的時候。
QT自學筆記(6)
用於輸入乙個較短的文字,例如,標題 使用者名稱 密碼等。如果文字太長,比如一段長達千字的簡介,就不合適用qlineedit 1.text 用於獲取文字框裡的內容,這在前幾節寫乙個1 1的程式中就已經用到 2.訊號函式 void returnpressed 當回車鍵被按下 構造乙個使用者登入介面,輸入...
Mysql自學筆記二
1.dos中啟動mysql a.先到達mysql安裝檔案的bin檔案下 cd 是返回根目錄 d 直接跳轉到d盤 輸入cd program files時,可以使用快捷鍵tab,及輸入cd pro tab即可 mysql uroot 以root使用者登入 hlocalhost 登入本機伺服器 p1111...
MySQL自學筆記5
使用mysql 5.5以及mysql自帶命令客戶端 union 聯合,其作用是將2次或者多次查詢結果合併起來 要求 兩次的查詢的列數一致。推薦是查詢的每一列相對應的列型別也是一樣的 查詢可以來自多張表,但是如果多次sql語句取出來的列名如果不一樣的話,此時以第乙個sql的列名為準 不同sql語句中取...