#1824 - Failed to open the referenced table hatası çözümü

#1824 - Failed to open the referenced table  hatası çözümü

Bu hata, genellikle dış anahtar kısıtlaması nedeniyle ortaya çıkan bir hata olup, genellikle tabloların oluşturulma sırasında bir sorun yaşandığında meydana gelir.

Bu sorunu çözmek için, tabloları doğru sırada oluşturarak ve FOREIGN KEY kısıtlamalarını doğru bir şekilde tanımlayarak sorguları güncelleyelim.

Örnek Hatalı Sorgu

CREATE TABLE `categories` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `admin_id` bigint unsigned NOT NULL,
  `name` varchar(255) NOT NULL,
  `image` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  FOREIGN KEY (`admin_id`) REFERENCES `admins` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Düzeltilmiş Hali

CREATE TABLE `categories` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `admin_id` bigint unsigned NOT NULL,
  `name` varchar(255) NOT NULL,
  `image` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  FOREIGN KEY (`admin_id`) REFERENCES `admins` (`id`) ON DELETE RESTRICT
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;