【问题标题】:Will user be able to read data before transaction complete用户是否能够在事务完成之前读取数据
【发布时间】:2014-09-16 06:44:11
【问题描述】:

我正在使用类似

的代码
 $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(); 

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

【问题讨论】:

  • 你使用 InnoDB、MyISAM 还是其他的?

标签: mysql codeigniter transactions


【解决方案1】:

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

如果您有 MyISAM(或混合)表,则可以改用 LOCK TABLES。

LOCK TABLES
    table1 WRITE,
    table2 WRITE

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-04
    • 2016-02-05
    • 1970-01-01
    • 2021-02-15
    • 2012-08-30
    • 1970-01-01
    • 2011-07-04
    相关资源
    最近更新 更多