如何导入使用外键删除的表



>我已经从我的服务器中删除了一个名为"公司"的表,该表具有外键并且还与其他表有关系。现在我尝试使用我下载的备份再次导入表,但它抛出格式不正确的外键错误

我尝试只创建带有 2 个图表的表,一个名称和一个 id,但它不起作用,它还抛出外键约束格式不正确的错误。

CREATE TABLE `companies` (
`id` int(10) UNSIGNED NOT NULL,
`company_name` varchar(191) COLLATE utf8_unicode_ci NOT NULL,
`company_email` varchar(191) COLLATE utf8_unicode_ci NOT NULL,
`company_phone` varchar(191) COLLATE utf8_unicode_ci NOT NULL,
`logo` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
`login_background` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
`address` text COLLATE utf8_unicode_ci NOT NULL,
`website` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
`currency_id` int(10) UNSIGNED DEFAULT NULL,
`package_id` int(10) UNSIGNED DEFAULT NULL,
`package_type` enum('monthly','annual') COLLATE utf8_unicode_ci NOT NULL 
 DEFAULT 'monthly',
 `timezone` varchar(191) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'Asia/Kolkata',
 `date_format` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'd-m-Y',
 `time_format` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'h:i a',
 `locale` varchar(191) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'en',
 `latitude` decimal(10,8) NOT NULL DEFAULT 26.91243360,
 `longitude` decimal(11,8) NOT NULL DEFAULT 75.78727090,
 `leaves_start_from` enum('joining_date','year_start') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'joining_date',
 `active_theme` enum('default','custom') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'default',
 `status` enum('active','inactive','license_expired') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'active',
 `last_updated_by` int(10) UNSIGNED DEFAULT NULL,
 `created_at` timestamp NULL DEFAULT NULL,
 `updated_at` timestamp NULL DEFAULT NULL,
 `stripe_id` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
 `card_brand` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
 `card_last_four` varchar(191) COLLATE utf8_unicode_ci DEFAULT NULL,
 `trial_ends_at` timestamp NULL DEFAULT NULL,
 `licence_expire_on` date DEFAULT NULL
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

错误信息:

(Error: 150 "Foreign key constraint is incorrectly formed")

首先是使用此查询获取"Comapanies"表的所有外键。

然后删除所有外键

ALTER TABLE `companies`
    DROP FOREIGN KEY `id_name_fk`;

然后执行创建表语句

最新更新