Salve ho queste due tabelle :
codice:
CREATE TABLE `clienti` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`ragione_sociale` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT 'NULL',
`piva` varchar(16) COLLATE utf8mb4_unicode_ci DEFAULT 'NULL' COMMENT 'piva o cf',
`codice_sdi` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT 'NULL',
`id_tipo_pagamento` int DEFAULT NULL,
`id_users_agente` int unsigned DEFAULT NULL COMMENT 'user che lo ha creato',
`banca_appoggio` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '',
`iban` varchar(27) COLLATE utf8mb4_unicode_ci DEFAULT '',
`note_cliente` varchar(1800) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`prospect` tinyint(1) DEFAULT '1',
`created_at` datetime DEFAULT CURRENT_TIMESTAMP,
`updated_at` datetime DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
KEY `id_tipo_pagamenti` (`id_tipo_pagamento`),
KEY `id_users_agente` (`id_users_agente`),
KEY `id_anagrafica` (`id`),
CONSTRAINT `clienti_ibfk_1` FOREIGN KEY (`id_users_agente`) REFERENCES `users` (`id`),
CONSTRAINT `clienti_ibfk_2` FOREIGN KEY (`id_tipo_pagamento`) REFERENCES `tipo_pagamento` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
codice:
CREATE TABLE `clienti_sedi` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`id_clienti` int unsigned NOT NULL,
`id_destinazione_merci` int DEFAULT NULL,
`sede_principale` tinyint unsigned NOT NULL DEFAULT '0',
`nome_sede` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`email` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`pec` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`id_comuni` int DEFAULT NULL,
`indirizzo` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`contatto_referente` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`cellulare_referente` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`telefono_referente` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`contatto_referente2` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`cellulare_referente2` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`telefono_referente2` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`fax` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci DEFAULT NULL,
`note_sede` text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci,
`created_at` datetime DEFAULT CURRENT_TIMESTAMP,
`updated_at` datetime DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `clienti_sedi_id_clienti_foreign` (`id_clienti`),
KEY `id_destinazione_merci` (`id_destinazione_merci`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Perchè non mi permette di creare la foreign id_clienti in sedi clienti :
Le colonne sorgente e destinazione devono essere dello stesso tipo e ci deve essere un indice sulla colonna di destinazione e sui dati referenziati.
Entrambi i campi sono int unsigned e uno è primary l'altro è index . Cosa è che non la fa creare ?