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

V MySQL mohu odložit kontroly referenční integrity až do potvrzení

Zdá se, že moje odpověď je zde ...

Stejně jako MySQL obecně, v příkazu SQL, který vkládá, odstraňuje nebo aktualizuje mnoho řádků, InnoDB kontroluje omezení UNIQUE a FOREIGN KEY řádek po řádku. Při provádění kontrol cizích klíčů InnoDB nastavuje sdílené zámky na úrovni řádků u podřízených nebo nadřazených záznamů, na které se musí dívat. InnoDB okamžitě kontroluje omezení cizích klíčů; šek není odložen na potvrzení transakce. Podle standardu SQL by měla být kontrola výchozího chování odložena. To znamená, že omezení jsou kontrolována až po zpracování celého příkazu SQL. Dokud InnoDB nezavede odloženou kontrolu omezení, některé věci nebudou možné, jako je smazání záznamu, který na sebe odkazuje pomocí cizího klíče.

Zpět na rýsovací prkno.



  1. Jak převést primární klíč z celého čísla na sériový?

  2. Fáze optimalizace a promarněné příležitosti

  3. Jak Tand() funguje v PostgreSQL

  4. Jak dotazovat pole jsonb pomocí operátoru IN