![]() |
связи между таблицами в mysql
народ, подскажите пожалуйста такую вещь.
для того, чтобы сделать в mysql связь между двумя таблицами по уникальному идентификатору id, достаточно ли в одной таблице сделать id полем primary key, а в другой таблицу просто занести поле id ? станет ли он автоматически полем foreign key, ? или же если я хочу связь один-к-одному, можно ли сделать в двух этих таблицах поле id - primary key, и будет ли это сразу внешней связью ? или как можно сделать эту самую связь, а то mysql ругается постоянно на слово foreign key ? |
сразу ничего не делается :biggrin: в принципе, даже не обязательно объявлять поле ключом, связь можно сделать на уровне sql-запроса.
|
ну это мне понятно.
но это же связь всего лишь на тот момент, на который выполняется этот sql запрос. а дальше переменная обнуляется, и все. опять таблицы все просто разные. а мне бы хотелось чтобы эти связи были на веки вечные как бы, так как это делается в Access. можно ли сделать так ? или все таки этих sql запросов в принципе будет достаточно для связи одномоментной ? |
Это ты нас спрашиваешь ? Ты бы еще нас спросил хорошо ли у тебя плита вписывается в кухонный гарнитур .
|
вообще то я спрашиваю, как сделать внешний ключ в таблицах mysql. непосредственно синтаксисом sql. и помоему ничего лишнего другого.
извините, если кто обиделся. |
Какой еще внешний ключ ;) В MySQL единственный способ связать две таблицы это LEFT JOIN .
|
или перейти на sybase или там ms :gigi:
|
Ага ... или Oracle ... чего размениваться то ;)
|
RaZEr
Можно краткую информацию о LEFT JOIN? И если нетрудно пример..... |
RTFM
|
RaZEr
Извини, не понял.... |
Read The Functions Manual
|
<offtopic>
а, так F теперь расшифровывается как Function? надо-же :biggrin: в моё время это расшифровывалось гораздо грубее :) </offtopic> |
спасибо....
|
Цитата:
|
|
Постараюсь обобщить все вышесказанное.
1. Объединение таблиц по JOIN - действует только на результирующий набор оператора SQL SELECT. Это, если можно так выразиться, виртуальное объединение. 2. Для физического объединения нужно использовать FOREIGN KEY. Документацию по синтаксису можно найти на сайте www.mysql.com. Кажется выше была указана ссылка на соответствующий раздел. 3. FOREIGN KEY в MySQL работатает только в таблицах типа InnoDB. Для работы с этим типом таблиц нужно иметь конфигурацию MySQL Max. Для запуска InnoDB нужно добавить некоторые параметры в конфигурационный файл my.ini (или в my.cnf). 4. Таблицу можно преобразовать в InnoDB оператором ALTER TABLE xxx TYPE=INNODB. |
| Часовой пояс GMT +4, время: 11:48. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.