Есть таблица "А" с полем id - это поле имеет ип primary (первичный ключ) Есть таблица "В" c полем name - это поле является внешним ключем поля id таблицы А Назначение первичного ключа нужно для связанности. Если я правильно понимаю, то если я привяжу два поля из разных таблиц так как я описал выше, то изменив id у меня должны поменяться все name Вопрос: как в phpmyadmin мне связать поля id и name ? версия phpMyAdmin 2.6.0-rc1
Версия phpmyadmin ни какой роли не играет, просто нужно выполнить запрос к MySql серверу. И простой пример [sql]CREATE TABLE `qq1` ( `id` int(38) NOT NULL, PRIMARY KEY (`id`) ); CREATE TABLE `qq2` ( `name` int(38) NOT NULL, FOREIGN KEY (name) REFERENCES qq1(id) )[/sql]
Спасибо за пример. Тогда у меня возникает вопрос следом, смысл мне привязывать поля как показано в примере. Ведь я могу и без этой привязки вытащить поле name по условию where. вот на примере: таблица qq1 (два поля: id(PK) и mark) - набор марок авто: id mark 1 toyota 2 nissan ............... 9 honda таблица qq2 (три пля: id, id_mark(FK), model) - набор моделей id id_mark model 1 1 Allex 2 2 AD .................................. 6 9 Civic Вопрос: Для чего мне создавать PK и FK? Просто не могу понять что мне это даст, ускорит работу? Ведь зная id_mark и id таблицы qq2 я спокойно могу вытащить model вот таким запросом: SELECT model FROM qq2 WHERE id=1 AND id_mark=1 Естественно зная id_mark я могу вытащить буквенное значание марки из таблицы qq1 Вот так я размышляю и не могу понять зачем мне создавать первичные и внешние ключи. Назначение индексов и уникальных полей мне ясно. Вот осталось разобраться как правильно пользоваться PK и FK
Доброго времени суток! каким запросом можно создать внешний ключ в уже существующей таблице? Как его создавать при создании таблицы уже написали.
ALTER TABLE tablename ADD и так далее "И так далее" - прочитаете в мануале http://dev.mysql.com/doc/refman/5.1/en/
да енто я в курсе, главное зацепку дали на ALTER, тут уже выведаю с чем едят. Я это, с английским не совсем. По русски парой долго перевариваю. Ну да ладно, вы на самом деле мне помогли.
да гранит мне чуть чуть поддался ALTER TABLE tablename ADD FOREIGN KEY (mark) REFERENCES tablename ( id )
Запрос выполнился успешно, смотрю в пхпмайадмин результаты запроса не могу найти. Я так понимаю это должно быть там где располагаются индексы а там поля mark не вижу. Как теперя узнать, что поле mark дествительно внешний ключ ?