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

Jak testovat Select pro aktualizaci v MySQL

otevřete 2 relaci klienta mysql.

v relaci 1:

mysql> start transaction;

mysql> SELECT * FROM table_name WHERE cond FOR UPDATE;

... (result here) ...

1 row in set (0.00 sec)

v relaci 2:

mysql> start transaction;

mysql> SELECT * FROM table_name WHERE cond FOR UPDATE;

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

zpět do relace 1, pro aktualizaci vybraného záznamu (a uvolnění zámku):

mysql> UPDATE table_name SET something WHERE cond;

mysql> commit;

zpět na relaci 2:

1) buď zobrazuje chybu časového limitu zámku

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

2) nebo zobrazení výsledku

... (result here) ...

1 row in set (0.00 sec)

3) nebo nezobrazuje žádný výsledek (protože odpovídající záznam byl změněn, takže zadaná podmínka nebyla splněna)

Empty set (0.00 sec)


  1. lze soundex použít na část sloupce v mysql?

  2. Funkce MySQL GeoSpatial pro ST_Distance_Spheroid? Metrika použitá na oplátku Typ GLength?

  3. Kód chyby:1052. Sloupec 'ATTRIBUTE' v seznamu polí je nejednoznačný

  4. Příklady DATEADD() v SQL Server