// sql rollback $this->db->trans_start(); // sql $this->db->query(); $this->db->trans_complete(); if ($this->db->trans_status() === FALSE) { $this->db->trans_rollback(); } else { $this->db->trans_commit(); }
標籤: sql
「CodeIgniter」-怎麼做到「如果其中一個SQL命令執行失敗,則回滾已操作的命令」?-Transaction – 陳董 Don Chen
來源: 「CodeIgniter」-怎麼做到「如果其中一個SQL命令執行失敗,則回滾已操作的命令」?-Transaction – 陳董 Don Chen
CodeIgniter Transaction的使用:
$this->db->trans_start(); $this ->db -> insert(‘user’,$i_data); $this -> db ->insert(‘score’,$i_data2); $this->db->trans_complete();
如果insert score的時候發生了問題,則已經執行的inser user會回滾。
[教學]mysql find_in_set
如果資料庫遇到 類似這樣的資料 1,3,4,7
find_in_set
就能解決你的 join 資料的困擾
不過還是建議要把資料給正規化會比較好
用法範例:
SELECT s.sno,GROUP_CONCAT(s.values) as `values` FROM mapping t INNER JOIN map s ON(FIND_IN_SET(s.id,t.values)) GROUP BY s.sno
參考資料: https://stackoverflow.com/questions/39139393/mysql-split-and-join-the-values
在mysql中in可以包括指定的数字,而find_in_set()用于特定的数据类型,下面我来给大家介绍关于find_in_set()和in()用法区别,希望对大家所有帮助。
MySQL 效能調校
今天不幸的遇到效能危機 cpu爆衝 原先認為是sql查詢寫入過於頻繁
結果算是也不算是…
是因為 查詢比對的欄位 沒有設定 index 索引
加上每小時幾萬的倍增下 就炸掉了
設定了索引後 cpu使用率直線下降
看來未來也要多留意了…T_T