Только чтобы он был уникальный для все БД. Что то вроде id_element. Чтобы уникальный ключ был
у нескольких элементов в разных таблицах.
Спустя 9 минут, 27 секунд (13.07.2008 - 18:31) Alchemist написал(а):
а нафига ?
Спустя 7 минут, 44 секунды (13.07.2008 - 18:39) Ghost написал(а):
поддерживаю вопрос

Спустя 56 минут, 26 секунд (13.07.2008 - 19:35) Arcky написал(а):
Ээээ. Собственно я тоже хотел бы знать 
Ну так можно или нет? Идею я почерпнул из
книжки "PHP 5 для профессионалов". Точнее
из ее кусочка. Там использовалось что то вроде
ХОтя бы объясните, что это такое
Если надо, могу статью прикрепить. Просто в образовательных целях.

Ну так можно или нет? Идею я почерпнул из
книжки "PHP 5 для профессионалов". Точнее
из ее кусочка. Там использовалось что то вроде
Цитата
mysql_query("
ALTER TABLE address
ADD CONSTRAINT fk_address_entity_id
FOREIGN KEY entity_id( entity_id ) REFERENCES entity( entity_id )
");
ALTER TABLE address
ADD CONSTRAINT fk_address_entity_id
FOREIGN KEY entity_id( entity_id ) REFERENCES entity( entity_id )
");
ХОтя бы объясните, что это такое

Если надо, могу статью прикрепить. Просто в образовательных целях.
Спустя 1 час, 4 минуты, 20 секунд (13.07.2008 - 20:39) Alchemist написал(а):
тю, ну ты загнул !!!
Чтобы понять что это такое, тебе надо прочитать: про форматы таблиц в MySQL, про формат InnoDB и его отличие от MyISAM, и про database relationship (увы не знаю как это правильно переводится на русский).
Если в кратце, то формат InnoDB позволяет устанавливать между таблицами (точнее между определенными полями таблиц) отношения "ссылка" -> "оригинал". Это не помогает связывать таблицы при JOIN'ах, но позволяет избегать мусорных и "потеряных" записей.
Пример: есть две таблицы
gallery {`gallery_id`, `gallery_name`} = (1, 'first gallery')
и
pictures {`pic_id`, `gallery_id`, `pic_file`} = (1, 1, '1.jpg'), (2, 1, '2.jpg')
Если мы создадим отношение "pictures.gallery_id -> gallery.gallery_id" и попытаемся добавить в `pictures` строку (3, 2, '3.jpg'), то получим SQL Error, т.к. в таблице "оригиналов" нет строки с индексом 2.
Точно так же, если мы попытаемся из таблицы `gallery` удалить единственную существующую там запись, то тоже получим ошибку, поскольку у нас еще остались "ссылки" на нее в таблице `pictures`.
Сорри, если немного сумбурно объяснил, но тут действительно материалу на одну-две хорошие лекции.
Чтобы понять что это такое, тебе надо прочитать: про форматы таблиц в MySQL, про формат InnoDB и его отличие от MyISAM, и про database relationship (увы не знаю как это правильно переводится на русский).
Если в кратце, то формат InnoDB позволяет устанавливать между таблицами (точнее между определенными полями таблиц) отношения "ссылка" -> "оригинал". Это не помогает связывать таблицы при JOIN'ах, но позволяет избегать мусорных и "потеряных" записей.
Пример: есть две таблицы
gallery {`gallery_id`, `gallery_name`} = (1, 'first gallery')
и
pictures {`pic_id`, `gallery_id`, `pic_file`} = (1, 1, '1.jpg'), (2, 1, '2.jpg')
Если мы создадим отношение "pictures.gallery_id -> gallery.gallery_id" и попытаемся добавить в `pictures` строку (3, 2, '3.jpg'), то получим SQL Error, т.к. в таблице "оригиналов" нет строки с индексом 2.
Точно так же, если мы попытаемся из таблицы `gallery` удалить единственную существующую там запись, то тоже получим ошибку, поскольку у нас еще остались "ссылки" на нее в таблице `pictures`.
Сорри, если немного сумбурно объяснил, но тут действительно материалу на одну-две хорошие лекции.
Спустя 6 часов, 17 минут, 49 секунд (14.07.2008 - 02:57) Arcky написал(а):
Во спасибо! По теме! ВРоде оно.
Буду думать
Буду думать

_____________