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

В MySQL мога ли да отложа проверките на референтната цялост до извършване

Изглежда отговорът ми е тук ...

Подобно на MySQL като цяло, в SQL оператор, който вмъква, изтрива или актуализира много редове, InnoDB проверява ограниченията УНИКАЛЕН и ВЪНШЕН КЛЮЧ ред по ред. Когато извършва проверки на външни ключове, InnoDB задава споделени заключвания на ниво ред на дъщерни или родителски записи, които трябва да разглежда. InnoDB проверява незабавно ограниченията на външния ключ; проверката не се отлага за извършване на транзакция. Съгласно стандарта SQL, поведението по подразбиране трябва да бъде отложено проверката. Това означава, че ограниченията се проверяват само след като целият SQL израз е обработен. Докато InnoDB не приложи отложена проверка на ограниченията, някои неща ще бъдат невъзможни, като например изтриване на запис, който препраща към себе си с помощта на външен ключ.

Обратно към чертожната дъска.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да направите автоматично увеличение на първичния ключ на MySQL таблицата с някакъв префикс

  2. Зареждане на класа com.mysql.jdbc.Driver ... е отхвърлено съобщение

  3. WAMP/MySQL грешки не са на правилния език

  4. Използването на if(isset($_POST['submit'])), за да не се показва ехо, когато скриптът е отворен, не работи

  5. Как да задам максимално време за изпълнение на mysql заявка?