Domanda

Sono cerco di creare una chiave esterna tra le tabelle utilizzando MySQL Workbench. Ma io non so perché non riesco a spuntare la casella di controllo per selezionare un campo al fine di mappare con un altro campo di un'altra tabella. Forse richiedere sia campo ha lo stesso tipo (e di altre condizioni ??) Così mi puoi dire i criteri per creare rapporti con chiave esterna e come farlo in MySQL Workbench?

È stato utile?

Soluzione

Non sono un utente di MySQL Workbench, ma assicurarsi che si sta utilizzando un motore di storage che supporta le chiavi esterne, in primo luogo. (Per esempio, InnoDB)

Vedere la documentazione di MySQL per la necessaria per una relazione di chiave straniera .

Altri suggerimenti

Ho avuto anche questo problema. La ragione per cui non ho potuto creare la relazione era come dici tu i tipi non erano esattamente lo stesso. Ho avuto un unsigned int come la mia chiave primaria e un int firmato come la mia chiave esterna, in modo che il software non mi avrebbe permesso di creare la relazione. Sarebbe stato bello se il software si avvicinò con un avviso o un qualche tipo di feedback degli utenti mettendo in evidenza che sia l'obiezione a controllare quella scatola.

Ho avuto lo stesso problema. Trovato una soluzione:

Dopo aver inserito nome del vincolo ForeignKey e selezionato la tabella di riferimento click " Avanti " senza selezionare i nomi delle colonne.

In questo passaggio si vedrà lo script SQL creare di nuovo vincolo. Modificare manualmente: digitare il nome della colonna di riferimento e il nome della colonna di fk. Quindi fare clic su Fine. verrà eseguito lo script. Per ricontrollare tentare di aprire la finestra tavolo alterare di nuovo e si vedrà che la casella di controllo della colonna è spuntata ora nella scheda chiave esterna.

Quando si modifica un tavolo in editor di diagrammi EER, c'è una scheda "chiavi esterne". È possibile impostare le chiavi esterne tra tabelle lì. (Workbench 5.2.36)

Sono di fronte lo stesso problema con MySQL Workbench. Ho un char (5) (in tabella 1) come la mia chiave primaria e un altro char (5) (in tabella 2) come chiave esterna. Ma MySQL Workbench non mi permette di creare la relazione. Sto usando InnoDB.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top