Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Menguji Pilih untuk Pembaruan di MySQL

buka 2 sesi klien mysql.

pada sesi 1:

mysql> start transaction;

mysql> SELECT * FROM table_name WHERE cond FOR UPDATE;

... (result here) ...

1 row in set (0.00 sec)

pada sesi 2:

mysql> start transaction;

mysql> SELECT * FROM table_name WHERE cond FOR UPDATE;

... (no result yet, will wait for the lock to be released) ...

kembali ke sesi 1, untuk memperbarui catatan yang dipilih (dan melepaskan kunci):

mysql> UPDATE table_name SET something WHERE cond;

mysql> commit;

kembali ke sesi 2:

1) menunjukkan kesalahan waktu tunggu kunci

ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

2) atau menampilkan hasil

... (result here) ...

1 row in set (0.00 sec)

3) atau tidak menunjukkan hasil (karena catatan yang sesuai telah dimodifikasi, sehingga kondisi yang ditentukan tidak terpenuhi)

Empty set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat membuka JPA EntityManager untuk transaksi; pengecualian bersarang adalah javax.persistence.PersistenceException

  2. Tomcat6 tidak dapat terhubung ke MySql (Pengandar belum menerima paket apa pun dari server)

  3. Menyimpan daftar nilai (seperti minat)

  4. Subquery mengembalikan lebih dari 1 baris solusi untuk kueri pembaruan menggunakan pernyataan pilih

  5. Baca array JSON di MYSQL