я получаю сообщение об ошибке при создании таблицы с внешними ключамиMySQL таблицы не создает
create table _users(_id int(20) unsigned NOT NULL AUTO_INCREMENT,
_user_fullname varchar(50)not null,
_user_username varchar(160) not null,
_user_password varchar(200) not null,_user_remember_me tinyint,
_user_email varchar(30),
_user_mobile varchar(15),
_user_age varchar(10)
,primary key(_id,_user_email,_user_mobile));
_users таблица созданных successfully..there не было никаких ошибок ..
Но когда я хочу создать работник стол:
CREATE TABLE employee (_Id INT NOT NULL AUTO_INCREMENT,
_user_mobile VARCHAR(15) not null,
_name varchar(15),
_org varchar(10),
PRIMARY KEY (_Id),
foreign key (_user_mobile) references _users(_user_mobile));
Его ошибка показывает:
ERROR 1005 (HY000): Can't create table 'DB.employee' (errno: 150)
Что я делаю неправильно?
Можете ли вы выполнить show create table _users и задать вопрос –
Неправильное соответствие внешнего ключа. У пользователей pk есть три столбца, но вы пытаетесь добавить fk только к одному из них. – jarlh
http://stackoverflow.com/questions/4061293/mysql-cant-create-table-errno-150 должен помочь. –