国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

淺談MySQL中的觸發器

2020-02-23 01:05:43
字體:
來源:轉載
供稿:網友

在很多時候,干得利索不如想的明白。方案應該根據場景來設計,不是盲目的依靠經驗,當然這也算新經驗!

   需求是把公司的幾套公共系統做成通過郵箱用戶名和密碼認證,只需記住一對用戶名密碼,簡單為上,只允許用戶在ExtMail的web頁面修改密碼!在做論壇認證的時候,由于論壇的復雜性,想到了如下的幾個方案:

    通過OAuth2.0做認證,或者自己寫接口,問題是只聽過,沒玩過!

    在郵箱修改時,也提交到論壇的數據庫。可惜不會ExtMail的Perl代碼,且修改代碼工作量太大!

    先前已經把線上郵箱用戶表同步到內網,可以做數據庫復制,可論壇和郵箱的數據庫字段有較大出入,還是要改大量代碼!

    使用觸發器更新論壇數據庫的用戶表!

       在仔細考慮過前面三種辦法之后,在能力范圍內,已經把PHP編寫的論壇認證方式修改成適應郵箱的加鹽認證方式,并測試了導入郵箱用戶名和密碼認證。已經修改過論壇數據庫字段類型,部分后端代碼!最后一步是自動把郵箱數據庫的用戶表變更同步到論壇數據庫的用戶表。

       在討論數據庫復制時,發現還是最后一種觸發器的辦法可行性最好,通過對論壇用戶表的大多數字段設置默認值,做到只添加修改其中的賬號,密碼和郵件三個字段即可完成對論壇用戶的操作,下面是根據實際情況編寫的MySQL觸發器!

       觸發器添加用戶

  use extmail;  DELIMITER //  create trigger add_bbsuser  after insert on extmail.mailbox  for each row  begin  insert into xiuno_bbs.bbs_user(username,password,email) /   values (new.name,new.password,new.username);  end //   DELIMITER ;

       觸發器更新用戶

  use extmail;  DELIMITER //  create trigger update_bbsuser  after update on extmail.mailbox  for each row  begin  update xiuno_bbs.bbs_user set username=new.name,/  password=new.password where email=new.username;  end //   DELIMITER ;

       觸發器刪除用戶

  use extmail;  DELIMITER //  create trigger delete_bbsuser  after delete on extmail.mailbox  for each row  begin  delete from xiuno_bbs.bbs_user where email=old.username;  end //   DELIMITER ;

       我踩過的坑

       剛開始編寫觸發器,從網上找來的命令都不能用,完全一籌莫展之際領悟到,觸發器和數據庫是綁定的,必須先use extmail到要觸發的extmail數據庫中,才能對這個庫的操作做相應的觸發,后來就沒有問題了!我果然是MySQL小白!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西乌珠穆沁旗| 泰安市| 剑川县| 寿宁县| 和田县| 临沭县| 静安区| 武威市| 朝阳市| 增城市| 玛纳斯县| 泰和县| 兰溪市| 大竹县| 资中县| 桂阳县| 阜南县| 新河县| 雅安市| 宣威市| 勃利县| 嘉义县| 都匀市| 康平县| 察雅县| 富宁县| 谢通门县| 恭城| 柳林县| 浦江县| 安平县| 普兰店市| 纳雍县| 汕尾市| 迭部县| 西青区| 伊宁县| 左云县| 望江县| 道孚县| 景宁|