Mysql
 sql >> база данни >  >> RDS >> Mysql

Каква е целта на SELECT ... *FOR UPDATE*?

http://dev.mysql.com/doc /refman/5.0/en/innodb-locking-reads.html

Това е свързано със заключването на таблицата в транзакциите. Да приемем, че имате следното:

START TRANSACTION;
SELECT .. FOR UPDATE;
UPDATE .... ;
COMMIT;

след като операторът SELECT се изпълни, ако имате друг SELECT от различен потребител, той няма да се изпълни, докато първата ви транзакция не достигне реда COMMIT.

Също така имайте предвид, че FOR UPDATE извън транзакция е безсмислено.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обектът java.sql.Time се бърка с обекта java.sql.Date

  2. Как да изберете всички записи, които са 10 минути в рамките на текущата времева марка в MySQL?

  3. Накарайте mysql да игнорира условието where

  4. Открийте дали дадена дата е в лятно часово време в MySql

  5. Значение на n:m и 1:n в дизайна на база данни