#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;