Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL लेनदेन का ठीक से उपयोग कैसे करें

आपका सबसे अच्छा दांव नेस्टेड लेनदेन का अनुकरण करना है। ऐसा करने के लिए अपने डेटाबेस एक्सेस के लिए एक रैपर लिखें।(pseduocode)

class MyMysqli {
    protected $realDb;
    protected $transaction_count =0;

    public function __construct ($host, $username , $passwd, $dbname){
        $this->realDb = new Mysqli($host, $username, $passwd, $dbname);
    }
    public function __get($property){
        return $this->realDb->$property;
    }

    public function __set($property, $value){
        return $this->realDb->$property = $value;
    }

    public function __call($method, $args){
        return call_user_func_array(array($this->realDb, $method), $args);
    }

    // overload begin_transaction, commit and rollback
    public function begin_transaction(){
         $this->transaction_count++;
         if ($this->transaction_count == 1){
               $this->realDb->begin_transaction();
         }
    }
    public function commit(){
         $this->transaction_count--;
         if($this->transaction_count == 0){
              $this->realDb->commit();
         }
    }

    public function rollback(){
         throw new Exception("Error");
    }



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL डेटाबेस प्रदर्शन देने के लिए युक्तियाँ - भाग दो

  2. @ प्रतीक - मैसकल में पुनरावर्ती चयन क्वेरी के लिए एक समाधान?

  3. Sqlite3 - csv से NULL मान कैसे आयात करें?

  4. MySQL में एकाधिक श्रेणियों के लिए चल रहे योग

  5. उपयोगकर्ता क्रेडेंशियल्स को मान्य करने के लिए कौन सी विधि बेहतर है?