Sto cercando di fare una foreign key tra due campi varchar. Ecco l'errore
Impossibile creare la tabella '.\marche\#sql-c6c_1d.frm' (errno: 150)
ed ecco le due tabelle, che sono identiche in tutte gli aspetti.
CREATE TABLE `tabella1` (
`idtabella1` int(11) NOT NULL auto_increment,
`username` varchar(25) NOT NULL default '', PRIMARY KEY (`idtabella1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
CREATE TABLE `tabella2` (
`idtabella2` int(11) NOT NULL auto_increment,
`username` varchar(25) NOT NULL default '',
PRIMARY KEY (`idtabella2`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
Questa è la query foreign key:
ALTER TABLE tabella1 ADD FOREIGN KEY (username) REFERENCES tabella2 (username)
ON DELETE NO ACTION ON UPDATE NO ACTION
Se i campi che provo a collegare sono degli int, non mi da errore ma se sono dei varchar si .
Non capisco perchè? forse qualcosa in CHARSET che non va?