Задавайте вопросы, мы ответим
Вы не зашли.
Проблема в следующем: есть 3 таблицы типа MyISAM
class
-----
id class_name
1 5а
2 5б
3 6а
subject
-------
id subject_name
1 Предмет1
2 Предмет2
3 Предмет3
day
---
id day_name
1 День1
2 День2
3 День3
Как мне связать эти таблицы в таблице четвертой таблице school, чтобы сохранить позиции?
Например:
school
------
id class subject day
1 1 2 1
2 1 3 1
3 1 1 1
Я так понимаю что внешний ключ в MyISAM использовать не смогу, как мне это лучше всего реализовать не меняя тип на InnoDB?
Неактивен
Неактивен
Альтернативой FK InnoDB являются триггеры/хранимые процедуры/внешнее приложение.
Только я совершенно не понимаю о какой связи в данном случае вы говорите. В чем она должна выражаться?
Неактивен
mybd, возможно, автор действительно хотел узнать как сделать подобную выборку, спрашивая о внешнем ключе. Только к внешним ключам это не имеет никакого отношения ( прочитать о том, что это такое можно FAQ №1).
В вашем запросе left join не оправдан (он более трудоемок, чем просто join), так как подразумевает возможность нахождения в таблице school значений отсутствующих в таблицах class, subject, day чего, по логике, не должно быть. Как раз внешние ключи и предназначены для решения подобных задач.
P.S. day - ключевое слово (видите оно у вас подсвечивается желтым).
Неактивен
за дополнение про left join спасибо.
про ключевое слово day заметил подсветку. разве MySQL позволил создать таблицу с таким именем? или просто нужно брать в кавычки.
Неактивен
Нужно брать в обратные кавычки, там где буква ё на клавиатуре, тогда позволит с любым именем (хоть арабской вязью пишите )
Неактивен