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

MySQL - JDBC - एक ही समय में चुनें और हटाएं

यदि आप चाहते हैं कि आपका चयन उस पंक्ति पर बाद के पढ़ने को तब तक अवरुद्ध करे जब तक कि आप इसे हटा नहीं देते, जैसा कि मार्क ने अपनी टिप्पणी में इंगित किया है, आपको इसकी आवश्यकता होगी

  • लेनदेन सक्षम करें (setAutoCommit(false) )
  • लेन-देन अलगाव को SERIALIZABLE पर सेट करें, और
  • उपयोग SELECT ... FOR UPDATE

यह नमूना कोड मेरे लिए काम करता है:

conn.setTransactionIsolation(Connection.TRANSACTION_SERIALIZABLE);
conn.setAutoCommit(false);

Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("SELECT token_id FROM tokens ORDER BY token_id LIMIT 1 FOR UPDATE");
rs.next();
int token_id = rs.getInt("token_id");
System.out.printf("Got %d.%n", token_id);
PreparedStatement ps = conn.prepareStatement("DELETE FROM tokens WHERE token_id=?");
ps.setInt(1, token_id);
ps.executeUpdate();
conn.commit();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ग्रुप बाय वास्तव में क्या करता है?

  2. मैं mysql का उपयोग करके साप्ताहिक कोहोर्ट विश्लेषण तालिका कैसे बना सकता हूं?

  3. C2DM के बिना स्थानीय नेटवर्क पर डिवाइस से डिवाइस पर सूचना पुश करें

  4. मैं PHP के साथ इन (â?²s) प्रकार के वर्णों को कैसे हटा सकता हूं?

  5. MySQL ट्रिगर:डालने पर auto_increment मान को दूसरे कॉलम में कॉपी करें