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 :

codice:
ALTER TABLE `clienti_sedi`
ADD FOREIGN KEY (`id_clienti`) REFERENCES `clienti` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
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 ?