[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Связывание таблиц MySQL
Varyag666
Не могу ничего найти в интеренете по данному вопросу: связывание таблиц в MySQL, или я неправильно ищу, вообщем интересует меня как связать две таблицы, какие команды это делают, какие поля связываются и по каким полям вообще можно связать

Андрей



Спустя 7 минут, 29 секунд (17.11.2009 - 11:15) glock18 написал(а):
innodb, внешние ключи (foreign key)

Спустя 52 минуты, 25 секунд (17.11.2009 - 12:07) waldicom написал(а):
JOIN

Спустя 2 часа, 35 минут, 20 секунд (17.11.2009 - 14:43) Varyag666 написал(а):
glock18, Благодарю нашел, сейчас буду тестить.

Спустя 8 минут, 24 секунды (17.11.2009 - 14:51) Varyag666 написал(а):
и кстати, для новичка лучше innodb или MyISAM?

Спустя 16 минут, 9 секунд (17.11.2009 - 15:07) sergeiss написал(а):
Цитата (Varyag666 @ 17.11.2009 - 15:51)
и кстати, для новичка лучше innodb или MyISAM?

Я бы сказал, что для новичка лучше подойдет третий вариант, Postgre, но боюсь, что меня заклюют wink.gif

Спустя 17 минут, 3 секунды (17.11.2009 - 15:24) glock18 написал(а):
от новичковости не зависит. имхо innodb лучше, чем myisam, если система имеет потребность в частых вставках данных. postgre имеет те же фичи что и innodb, плюс еще свои. при этом вроде как быстрее. подтвердить это не могу, потому что юзаю его только у себя пока.

Спустя 31 секунда (17.11.2009 - 15:25) Gabriel написал(а):
sergeiss
не заклюют если скажеш, что к ней нужно ставить навикат smile.gif
да и вообще чего клевать то? лично я с ней не знаком но думаю, что если навикат адаптировали под постерг мускул и оракл, то постерг довольно таки стоющяя вещь.

Спустя 7 минут, 5 секунд (17.11.2009 - 15:32) sergeiss написал(а):
Цитата (Gabriel @ 17.11.2009 - 16:25)
не заклюют если скажеш, что к ней нужно ставить навикат

Чегой к ней надо ставить??? blink.gif

Спустя 10 минут, 10 секунд (17.11.2009 - 15:42) Gabriel написал(а):
sergeiss
ты чего незнаеш, что такое Navicat?
пандора писал про него на форуме вот тут

Спустя 13 минут, 51 секунда (17.11.2009 - 15:56) glock18 написал(а):
это всего лишь еще один клиент рдбмс smile.gif

Спустя 4 минуты, 28 секунд (17.11.2009 - 16:00) sergeiss написал(а):
Gabriel - а ты обратил внимание на надпись "Таблэтка: Присутствует smile.gif" для этого Навиката?

Для Постгре существует официальная бесплатная прога PgAdmin, которая позволяет очень качественно работать с БД. Всякие там phpmyadmin, и даже phppgadmin даже близко не сидели smile.gif
Ссылка у меня в подписи, давно уже.

Спустя 15 минут, 12 секунд (17.11.2009 - 16:16) glock18 написал(а):
И опять +1 smile.gif Утилита PgAdmin действительно очень хороша

Спустя 6 минут, 34 секунды (17.11.2009 - 16:22) Gabriel написал(а):
sergeiss
ну коли я этим делом не пользовался тут непоспориш smile.gif
ну есть таблетка ну ничего мы переживем smile.gif нас это не пугает
UPD: и кто сказал что я его от туда качал?

Спустя 4 минуты, 8 секунд (17.11.2009 - 16:26) Varyag666 написал(а):
Кхы, кхы. Вот не могу немного понять: я создал простым sql запросом в phpmyadmin две таблицы


DROP TABLE IF EXISTS data_user;
DROP TABLE IF EXISTS kategory;
CREATE TABLE data_user (
number int(6) NOT NULL AUTO_INCREMENT,
name varchar(25) NOT NULL default '',
family_name varchar(35) NOT NULL default '',
telephone varchar(20) NOT NULL default '',
email varchar(30) NOT NULL default '',
id int(6) NOT NULL,
PRIMARY KEY (number),
FOREIGN KEY (id) REFERENCES coutry(id)
)
ENGINE=InnoDB CHARACTER SET=utf8;

INSERT INTO data_user VALUE
(1, 'Андрей','Таранов','62234049','varyag0488@mail.ru','1'),
(
2, 'Павел','Киржаков','26313544','tor@mail.ru','1'),
(
3, 'Сергей','Иванов','84213755555', 'sergey@list.ru','1'),
(
4, 'Петр','Петров','12345678','petr@google.ru','2'),
(
5, 'Вася','Мурков','','vasia@rambler.ru','2');

CREATE TABLE country(
id int(6) NOT NULL AUTO_INCREMENT,
country varchar(30) NOT NULL default '',
primary key (id)
)
ENGINE=InnoDB CHARACTER SET=utf8;

INSERT INTO country VALUE
(1,'Россия'),
(
2,'США');


В одной информация о пользователе, в другой страна, т.к. страны могут быть( а у меня есть) одинаковыми(-е).

Вопрос 1: правильно ли я связал таблицы?

Вопрос 2, теперь чтобы выбрать 3ю страну мне нужно вначале ее ввести в таблицу со страной, а потом ввести в информацию с id 3, а как это оформить в форме, т.е. будет список генерироваться на основании данных из таблицы страна со значениями value=1,2,3 и т.д чтобы добавить в таблицу строку с данными о людях?

Спустя 11 минут, 48 секунд (17.11.2009 - 16:38) waldicom написал(а):
Обычно в country пихают все известные страны и предоставляют выбор.

Спустя 18 часов, 9 минут, 4 секунды (18.11.2009 - 10:47) Varyag666 написал(а):
waldicom, я просто для себя сделал чтобы понять как там работает что

Спустя 4 дня, 18 часов, 5 минут, 45 секунд (23.11.2009 - 04:53) Varyag666 написал(а):
Тутже возник вопрос, в таблице "список" есть 2 внешних ключа foreign key 1 и foreign key 2, обя они являются ссылками на primary key 1 и primary key 2 соответственно, причем primary ключи в разных таблицах.
Вопрос: если я удалю primary key 1 то удалится ли запись в таблице "список"?

Спустя 6 часов, 12 минут, 23 секунды (23.11.2009 - 11:05) glock18 написал(а):
зависит от типа связи он on delete соответствующего ключа.
Быстрый ответ:

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