php – 如何使用codeigniter中的事務進行基於數據更改的提交和回滾

// 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(); 
}

來源: php – 如何使用codeigniter中的事务进行基于数据更改的提交和回滚?

「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数据库中find_in_set()和in()用法区别_壹聚教程网

MySQL 效能調校

今天不幸的遇到效能危機 cpu爆衝 原先認為是sql查詢寫入過於頻繁

結果算是也不算是…

是因為 查詢比對的欄位 沒有設定 index 索引

加上每小時幾萬的倍增下 就炸掉了

設定了索引後 cpu使用率直線下降

看來未來也要多留意了…T_T

來源: MySQL 效能調校 by Stanley | CodeData