msql資料庫觸發器和串連mysql常用函數

來源:互聯網
上載者:User

標籤:

觸發器
delimiter $$(設定$$為語句結束符)
例:
delimiter $$
create trigger jiaobanfei after update on user1     
for each row
begin
update user2 set age=age+(old.num-new.num);
update user2 set num=num+1;
end
$$
delimiter;


old.age-new.age

刪除;drop trigger jiaobanfei;

update user1 set num=num-4 where id=1;

注意;1、觸發器不能同名
     2、目前mysql只支援一類事件設定一個觸發器

在觸發器內,獲得觸發改觸發程式時的資料:
利用觸發程式內的new和old來完成

old:舊的資料,在時間發生之前的資料
new:監聽表上,事件發生之後的資料

事件是insert,不能使用old
事件是delete,不能使用new

如果一個觸發程式,由多條sql語句組成:
應該;1、語句組成語句塊(begin,end)來標識語句塊
   2、語句快的語句需要獨立的語句結束符,分號

   命令列:由於觸發器程式內使用分號作為語句結束符,那麼當命令列客戶
   端碰到分號時,就應該理解成觸發器程式內子語句結束,而不是整個建立觸發器的語句結束

   應該通過修改命令列的語句結束符達到目的,
   Delimiter語句可以完成設定語句結束符




測試  :insert into on duplicate key update (如果插入的資料時,主鍵重複,則為修改操作)
        replalce


php操作mysql的用戶端有三個
msyql,mysqli,pdo

測試函數是否可用
var_dump(function_exists(‘mysql_connect‘));

常見的:show,desc,select 返回結果集

         insert,update ,delete返回布爾值



ASSOC:關聯陣列
row;索引數組
array:混合數組

fetch只能獲得一條,但是可以自動移動,結果集的記錄指標,配合迴圈結構,完成所有資料的操作




mysql 錯誤:
獲得錯誤資訊;
mysql_error();錯誤資訊
mysql_errno();錯誤編號

1、獲得結果集內的資料量
mysql_num_rows(結果集)
  查

2、操作後,受影響的行數
mysql_affected_rows();
適用於 增刪改

3、獲得最新的自動成長的欄位的值,通常是id主鍵
mysql_insert_id();

4、如果資源使用完畢,應該釋放資源
mysql_free_result(結果集);


需要釋放的資源;複合類型的資料(數組,對象),資源
unset一下變數就行

msql資料庫觸發器和串連mysql常用函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.