sql >> Databáze >  >> RDS >> Mysql

Jaký je účel SELECT ... *FOR UPDATE*?

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

Souvisí to se zamykáním tabulky v transakcích. Řekněme, že máte následující:

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

po spuštění příkazu SELECT, pokud máte další SELECT od jiného uživatele, nespustí se, dokud vaše první transakce nezasáhne řádek COMMIT.

Všimněte si také, že FOR UPDATE mimo transakci nemá smysl.



  1. Spojení tabulky na základě hodnot oddělených čárkou

  2. nepodporováno Skenování, uložení ovladače.Typ hodnoty []uint8 do typu *time.Time

  3. Je možné použít pandas/sqlalchemy k vložení polí do databáze SQL? (postgres)

  4. Potíže se znaky UTF-8; co vidím, není to, co jsem uložil