|
|
|
| Добрый день.
Подскажите, описываются ли как-нибудь связи в таблицах mysql базы?
Я обычно делаю это запросами из нескольких таблиц с параметром типа where table1.id=table.table1_id ....
Это делается только так?
И еще видел таблицу, в которой создано несколько индексов, причем в каждом индексе по несколько полей...
1-й вопрос: зачем?
2-й вопрос: как определить какие поля записаны в индексы? | |
|
|
|
|
|
|
|
для: NovikovMA
(14.07.2007 в 14:36)
| | Можно воспользоваться внешним ключём, который создаётся при помощи FOREIGN KEY. Такая связь автоматически отслеживает изменения, например, удаление записи приводит к каскадному удалению связанных записей из другой таблицы, точно также и обновление... Однако такой тип ключей поддерживается в настоящий момент только таблицей типа InnoDB, таблицы типа MyISAM их не поддерживают. | |
|
|
|
|
|
|
|
для: cheops
(14.07.2007 в 17:47)
| | Спасибо, а можно ли отследить связи FOREIGN KEY? Ну например запросом, который показывал бы все связи? | |
|
|
|
|
|
|
|
для: NovikovMA
(14.07.2007 в 20:15)
| | так, про foreign key нашел:
SHOW TABLE STATUS FROM db_name LIKE 'tbl_name';
В комментах результата будут Foreign key... | |
|
|
|
|
|
|
|
для: NovikovMA
(14.07.2007 в 14:36)
| | Каким запросом все-таки можно отследить поля, которые в индексе находятся?
phpMyAdmin как-то делает... | |
|
|
|