Связывание таблиц - вопрос №235117

Не получается связать две таблицы.

1. Создаю таблицу users

CREATE TABLE IF NOT EXISTS `users` (
  `pk_user` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `email` varchar(120) NOT NULL,
  `flname` varchar(100) NOT NULL,
 `clan_name` varchar(50) NOT NULL,
  `password` varchar(64) NOT NULL,
  `country_code` char(2) NOT NULL,
  `usr_ip` varchar(15) DEFAULT NULL,
  `usr_nmb_logins` int(10) unsigned NOT NULL DEFAULT '0',
  `usr_signup_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `usr_userid` varchar(32) DEFAULTNULL,
  `usr_confirm_hash` varchar(255) NOT NULL,
  `usr_is_confirmed` tinyint(1) NOT NULL DEFAULT '0',
  `usr_resetpassword_hash` varchar(255) NOT NULL,
  `usr_is_blocked` tinyint(1) NOT NULL DEFAULT '0',
  `usr_is_admin` tinyint(1) NOT NULL DEFAULT '0',
  PRIMARY KEY (`pk_user`),
  UNIQUE KEY `email` (`email`),
  KEY `country_code` (`country_code`),
  KEY `clan_name` (`clan_name`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;

2. Создаю таблицу teems_table

CREATE TABLE IF NOT EXISTS `teems_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `clan_name` varchar(50) NOT NULL,
  `clan_teg` varchar(10) NOT NULL,
  `captain` varchar(50) NOT NULL,
  `status` varchar(50) NOT NULL,
  PRIMARY KEY (`id`),
 KEY `clan_name` (`clan_name`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;

3. Хочу связать их:

ALTER TABLE `users`
  ADD CONSTRAINT `table(<== незнаю как правильно создавать внешний ключ)` FOREIGN KEY (`clan_name`) REFERENCES `teems_table` (`clan_name`);

и выводит ошибку:

#1452 — Cannot add or update a child row: a foreign key constraint fails (`dblots`.`#sql-ca8_4f8`, CONSTRAINT `table` FOREIGN KEY (`clan_name`) REFERENCES `teems_table` (`clan_name`))

Возможно, в одной из этих таблиц есть значение clan_name, которого нет во второй таблице.

Если это не так, есть смысл проверить, действительно ли создаются таблицы InnoDB, иногда настройки базы таковы, что mysql игнорирует явное указание типа таблиц.
Посмотрите SHOW WARNINGS;

21.09.12
По мнению автора лучший ответ отсутствует.
Посмотреть всех экспертов из раздела Технологии > Базы данных
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store