用户是否能够在事务完成之前读取数据

时间:2014-09-16 06:44:12

标签: mysql codeigniter transactions

我正在使用像

这样的代码
 $this->db->trans_start();
$this->db->query('AN SQL QUERY...');
$this->db->query('ANOTHER QUERY...');
$this->db->query('AND YET ANOTHER QUERY...');
$this->db->trans_complete(); 

相同的表用于其他读取目的。在完成所有记录的编写之前,我不希望其他用户读取记录。交易会处理吗?

1 个答案:

答案 0 :(得分:1)

如果表中的存储引擎支持它的事务。

如果你有MyISAM(或混合)表,你可以使用LOCK TABLES。

LOCK TABLES
    table1 WRITE,
    table2 WRITE

您必须在'事务中锁定要查询的所有表格。 在您完成后使用UNLOCK TABLES