Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Mysql] Creazione foreign non psossibile

    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 ?

  2. #2
    Le tabelle contengono già dei dati?

  3. #3
    Quote Originariamente inviata da optime Visualizza il messaggio
    Le tabelle contengono già dei dati?
    SI

  4. #4
    Accertati che tutti gli ID corrispondano!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.