[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: MYSQL создать ссылку одного поля таблицы на другое
virussimiret
Здравствуйте!
Надеюсь, что тему выбрала верно. Т.к. думаю, что вопрос не сложный... И вероятно даже глупый, за что заранее прошу прощения!

Постараюсь упростить вопрос:)))
В MYSQL могут ли 2 таблицы одной базы иметь общее поле? То есть, изменение этого поля в одной таблице - автоматически меняет значение поля в другой, ибо одно является ссылкой на другое.
(если все-таки могут - то каким образом это прописать через sql файл или настроить через phpmyadmin?)

Заранее спасибо за понимание!
И за ответ!



Спустя 49 минут, 52 секунды (27.01.2011 - 20:55) ApuktaChehov написал(а):
virussimiret - phpmyadmin и ваши скрипты это совершенно разные программы. А что бы они были едиными, вами придется постараться. Потому как именно вы и должны это реализовать.

Только зачем такие извращения? Похоже вы знаете в них толк. smile.gif

Спустя 12 часов, 5 минут, 18 секунд (28.01.2011 - 09:01) virussimiret написал(а):
Я неверное совсем глупа, т.к. не поняла о каких скриптах идет речь:))) и над чем именно стараться тоже не понятно:(((

Просто из давнего курса SQL или Access у меня вроде как всплывает в памяти, что таблицы могут иметь связующее поле, то есть общее для двух разных таблиц.... phpmyadmin - это я условно написала... ну, через сам дамп .sql файл можно, не обязательно через phpmyadmin:)))

В общем-то в этом и суть вопроса - В MYSQL можно сделать общее поле для двух разных таблиц?

с ответом "нет" готова смириться:))) уже почти смирилась:)))

Спустя 10 минут, 6 секунд (28.01.2011 - 09:11) linker написал(а):
Можно, например, триггерами или процедурками.

Спустя 25 минут, 50 секунд (28.01.2011 - 09:37) ApuktaChehov написал(а):
virussimiret - извиняюсь, не правильно понял.

linker вам не солгал smile.gif

Спустя 25 минут, 51 секунда (28.01.2011 - 10:02) sergeiss написал(а):
Цитата (virussimiret @ 27.01.2011 - 21:05)
В MYSQL могут ли 2 таблицы одной базы иметь общее поле? То есть, изменение этого поля в одной таблице - автоматически меняет значение поля в другой, ибо одно является ссылкой на другое.

Можно. Вот только вопрос: ЗАЧЕМ???
Какая задача? Возможно, что её можно решить без таких "изысков" (== "извратов" smile.gif).

Обычно поля в разных таблицах "связывают" по какому-то критерию. И тогда не надо ничего изменять в другой таблице.

Спустя 6 минут, 1 секунда (28.01.2011 - 10:08) virussimiret написал(а):
linker, эх... ну то есть фактически это означает, что "нет":))) Спасибо за ответ!

ApuktaChehov, я наверное сначала слишком сложно сформулировала свою мысль:))) но все равно спасибо за оперативный ответ!

Спустя 7 минут, 56 секунд (28.01.2011 - 10:16) virussimiret написал(а):
sergeiss, можно по-другому...
но это "по-другому" видимо означает что я ищу в php место, где сохраняются данные в одну таблицу и ручками дописываю, чтоб и вон в ту тоже сохранились ну или еще как-то:)))
а php не мой и большой и страшный:))) так не хочется его разбирать...

просто суть ситуации такова:
есть табличка юзер с полями город, телефон и т.д. и т.п.
есть табличка объявление с полем текста объявления + полями город, телефон и т.п...
мне НЕ нужно, чтоб при заполнении объявления юзер каждый раз заново вбивал тел, город... то есть либо данные дублируются, либо выводятся из самой таблицы юзер...
т.к. код не мой я пока не могу сказать как будет проще это осуществить...

хотела, чтоб это происходило "по волшебству" biggrin.gif

Спустя 6 минут, 31 секунда (28.01.2011 - 10:23) sergeiss написал(а):
Во-первых, ПХП тут практически "не при делах", это можно сделать внутри БД.
Во-вторых, делаешь так. В таблице юзер делаешь специальное автоинкрементное поле, допустим, называешь его userid. И поле с таким же именем, только НЕ-автоинкрементное, делаешь в таблице объявление. И при вводе объявы указываешь айди юзера, который его создал.

При выводе объявы просто строишь запрос так, чтобы выбрать нужные данные из обеих таблиц...

Это именно так делается, не надо ничего никуда переписывать! Это избыточность информации, никому не нужная.

Спустя 19 минут, 16 секунд (28.01.2011 - 10:42) virussimiret написал(а):
sergeiss, да, они как раз и связаны юзер id...
как же пхп не при делах? запрос-то будет именно в него писаться?
и я понимаю, что вроде как нужно, чтоб шел запрос на вывод из обеих таблиц, на основе совпадения id... но там в коде очень очень много букв и много файлов:))) очень не хотелось осиливать:))) это вообще жумла.... то есть там громоздкий код и все как-то взаимосвязано и ХЗ какsad.gif((

но спасибо, что прояснили ситуацию!

буду значит научным методом тыка работать:))

Спустя 1 минута, 48 секунд (28.01.2011 - 10:44) linker написал(а):
virussimiret
Пойми, две таблицы связаны между собой по userid. Значение данного поля никогда не меняется, а значит нет нужды при редактировании объявы вносить изменения в пользователя и наоборот.

Спустя 14 минут, 14 секунд (28.01.2011 - 10:58) sergeiss написал(а):
Цитата (virussimiret @ 28.01.2011 - 11:42)
как же пхп не при делах? запрос-то будет именно в него писаться?

Ты можешь писать запрос в любом языке, выполняться он будет внутри БД!!!

Спустя 29 минут, 48 секунд (28.01.2011 - 11:28) virussimiret написал(а):

sergeiss, это понятно, но в моем случае это уже точно php...

linker, я понимаю, что нужды нет:))) как это можно сделать в теории - мне понятно, а вот с практикой - хуже;)

я просто ищу легких путей...
поэтому мне нужно не как лучше, мне нужно как проще.... wink.gif
просто понадеялась, что можно как-то автоматов все это сделать через mysql, ничего никуда не дописывая, чтоб не сидеть часами и тыком искать нужные файлы и куда чего дописывать, там же не один файлик на 15 строчек, там же около 30 файлов от 10 до 5000 строк, а я не самый матерый программер....

ну, надо - так надо!....

Спустя 4 минуты, 30 секунд (28.01.2011 - 11:32) sergeiss написал(а):
virussimiret - не понял... Какие файлы??? В начальной задаче их не было. Там была только БД и мы с линкёром о БД и говорили.
Если же в твоей задаче есть какие-то файлы, а не БД, то нафига было о БД говорить?

Но похоже, ты ищешь не "лёгких" путей, а как раз очень тяжелых.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.