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

अलगाव स्तर READ_UNCOMMITTED होने पर चल रहे लेनदेन द्वारा डाली गई पंक्तियों को नहीं देख सकता

अगर मैं किसी अन्य कंसोल से लॉगिन करता हूं तो मेरी छोटी टेस्ट स्क्रिप्ट के साथ कोई रिकॉर्ड नहीं दिखता है। हालांकि, मैं उसी सत्र में अभी डाले गए रिकॉर्ड का चयन कर सकता हूं। तो मुझे लगता है कि प्रतिबद्धता से पहले आप उन पंक्तियों तक पहुंच सकते हैं जो पहले से ही तालिका में हैं, लेकिन अब नई पंक्तियां या परिवर्तन प्रतिबद्ध होने से पहले।

<?php

require_once('db.php');

q( 'drop table if exists t' );
q( 'create table t (id integer not null auto_increment primary key, v datetime) engine=innodb' );

q( 'set transaction isolation level read uncommitted' );
q( 'start transaction' );
q( 'insert into t (v) values (now()),(now()),(now())' );

echo q1( 'count(*)', 't', 'true'); // translates to "select count(*) from t where true"; 
// echoes "3" to the console

// wait for input
$handle = fopen ("php://stdin","r");
$line = fgets($handle);

// with a mysql client from a 2nd console at this point no new records show in table t

q( 'commit' );

// after this point all new records show up in table t from a 2nd session.



  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. PHP एकाधिक ड्रॉपडाउन बॉक्स फॉर्म MySQL को सबमिट करें

  3. SHOW COLUMNS का समूह आउटपुट अल्पविराम-सीमांकित सूची में

  4. दो पंक्तियों को कैसे संयोजित करें और MySQL में दो टाइमस्टैम्प मानों के बीच समय अंतर की गणना कैसे करें?

  5. दो स्थितियों से मेल खाने वाली कई पंक्तियों का चयन करें