2013-06-06 1 views
0

Я использую xamp. Я создал БД, используя SQL Yog, Я открыл свой localhost/phpmyadmin/ , а затем отобрал вновь созданную базу данных. Я хотел установить отношения между таблицами, например, есть две таблицы: USER и USERSTATS, я хочу создать отношение в зависимости от USER_ID, которое существует в обеих таблицах. Я выбрал вариант создания отношения, выбранный ссылочный ключ из таблицы USERS, затем щелкните по таблице STATS и выбранному внешнему ключу, я получил приглашение «Создать отношение», я нажал OK. Теперь было должен создавать отношения, но это не так, открывается только небольшое пустое всплывающее окно в светлячок, со ссылкой локальных/PHPMyAdmin/pmd_general.php? Дб = MYDBNAME & сервера = 1 & маркера = d9d3ed2661d4cc1d0db47eca1ebee996PHP Мой администратор не создает отношения

Но это не создает отношения.

Пожалуйста, помогите мне в решении этого вопроса

ответ

0

mysql не поддерживает foreign key отношений, хотя она принимает, что ключевое слово. Вероятно, это причина, по которой phpMyAdmin этого не допускает.

Если вы хотите использовать движок InnoDB для своей таблицы, поддерживаются внешние ключи.

Из ответа от StackOverflow для why-my-table-doesnt-support-foreign-keys

ALTER TABLE tableName ENGINE = InnoDB;

+0

Я сделал отношения в другой базе данных, но на этот раз это создает проблемы. предложите какое-нибудь решение, пожалуйста. –

+1

http://dev.mysql.com/doc/refman/5.6/en/innodb-foreign-key-constraints.html – Dave

+0

@IrfanYounus см. Мое редактирование – pinkpanther

2

Вы создали свои таблицы с InnoDB? InnoDB принимает к застройке иностранных ключей

+0

да все столы имеют тип InnoDB –

+0

Mh .. такие же типы наверняка? Или вы забыли поставить индексы на некоторые клавиши? – netvision73

+0

Индивидуально меняя каждый стол, работавший на меня –

0

вам нужно добавить индекс к полю, которое вы хотите в качестве внешнего ключа. Вы можете сделать это, перейдя в таблицу и нажав «Указатель», или вы можете сделать это вручную: «ALTER TABLE YourTable ADD INDEX (YourField

+0

Индивидуально меняя каждый стол, работал для меня –

Смежные вопросы