Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Связь таблиц / 20 сообщений из 20, страница 1 из 1
11.03.2004, 11:29
    #32437545
Денис1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
Люди!
Подскажите пожалуйста , как прописываются связи между таблицыми в MySQL
...
Рейтинг: 0 / 0
11.03.2004, 11:57
    #32437637
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
В случае с выборкой (SELECT) через WHERE.
Типа так:
SELECT table1.Id, table2.name FROM table1, table2 WHERE table1.Id=table2.Id
...
Рейтинг: 0 / 0
11.03.2004, 12:14
    #32437675
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
наверно имелось ввиду REFERENCE?
...
Рейтинг: 0 / 0
11.03.2004, 14:57
    #32438135
Денис1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
Я имею в виду связи 1:1,1:M
...
Рейтинг: 0 / 0
11.03.2004, 15:32
    #32438221
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
Трудно понять...
Покажи живой текст запроса...
...
Рейтинг: 0 / 0
11.03.2004, 15:45
    #32438261
Денис1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
мне нужно организовать связи между таблицами один к одному , один-многим
...
Рейтинг: 0 / 0
11.03.2004, 15:46
    #32438266
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
надо не запрос просить, имхо, а create table

...
reference_definition:
REFERENCES tbl_name [(index_col_name,...)]
[MATCH FULL | MATCH PARTIAL]
[ON DELETE reference_option]
[ON UPDATE reference_option]
...

In MySQL Version 3.23.44 or later, InnoDB tables support checking of foreign key constraints. See section 15 The InnoDB Storage Engine. Note that the FOREIGN KEY syntax in InnoDB is more restrictive than the syntax presented above: The columns of the referenced table must always be explicitly named. InnoDB supports both ON DELETE and ON UPDATE actions on foreign keys as of MySQL 3.23.50 and 4.0.8, respectively. See the InnoDB manual section for the precise syntax. See section 15.6.4 FOREIGN KEY Constraints. For other storage engines, MySQL Server does parse the FOREIGN KEY and REFERENCES syntax in CREATE TABLE commands, but without further action being taken. The CHECK clause is parsed and ignored for all storage engines. See section 1.8.5.5 Foreign Keys.

Вот и еще здесь http://www.mysql.com/documentation/mysql/bychapter/manual_InnoDB.html#InnoDB_foreign_key_constraints
...
Рейтинг: 0 / 0
11.03.2004, 16:45
    #32438465
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
Денис, если ты ожидаешь визардов аля ms access, то тебя ждет разочарование...

...
Рейтинг: 0 / 0
11.03.2004, 16:49
    #32438473
Денис1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
CREATE TABLE `UserInfo` (
`FullName` varchar(255) NOT NULL default '',
`Company` varchar(255) NOT NULL default '',
`Depart` varchar(255) NOT NULL default '',
`Email` varchar(100) NOT NULL default '',
`Num_Dog` varchar(15) NOT NULL default '',
`ReqID` int(25) NOT NULL auto_increment,
`KeyWord` varchar(8) NOT NULL default 'Non reco',
`ReqIDServ` int(11) NOT NULL default '0',
`InfoDop` text NOT NULL,
PRIMARY KEY (`ReqID`)
)
CREATE TABLE `textCer` (
`PKCS` mediumtext NOT NULL,
`TypeReq` char(3) NOT NULL default '0',
`DatePostReq` datetime NOT NULL default '0000-00-00 00:00:00',
`ReqID` int(11) NOT NULL default '0',
`DateCert` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`ReqID`)
)
Надо связать эти таблицы по reqId причем в таблице уже есть данные
...
Рейтинг: 0 / 0
11.03.2004, 16:53
    #32438481
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
Не вижу указания типа таблиц: type=MyISAM? тогда ни о какой связи (на уровне ядра) не может быть и речи.

Кто дал задание? почему вопрос стоит имеено: "как мне связать две таблицы"?
Для чего... задачу опиши

...
Рейтинг: 0 / 0
11.03.2004, 17:00
    #32438501
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
автор
Надо связать эти таблицы по reqId причем в таблице уже есть данные


SELECT FullName, DatePostReq FROM UserInfo,textCer WHERE UserInfo.ReqID=textCer.ReqID

Вот только поле ReqID в этих таблицах немного разные - INT(25/11), но в принципе - какая-то выборка должна произойти...
...
Рейтинг: 0 / 0
11.03.2004, 17:05
    #32438520
Денис1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
а когда я удалю из UserInfo запись произойдет удаление свех связанных с этой записью данных
...
Рейтинг: 0 / 0
11.03.2004, 17:07
    #32438522
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
нет, если type=MyISAM
...
Рейтинг: 0 / 0
11.03.2004, 17:19
    #32438555
Денис1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
Но у меня TYPE=MyISAM; , что сделать чтоб получилось каскадное изменения
...
Рейтинг: 0 / 0
11.03.2004, 17:22
    #32438562
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
а когда я удалю из UserInfo запись произойдет удаление свех связанных с этой записью данных
Нет. Такой вопрос: в таблице textCer у тебя поле ReqID является уникальным, т.е. в эту таблицу нельзя вставить две строки с одинаковым ReqID - это правильно - так и задумывалось? Если да - то какой смысл в этой таблице - лучше необходимые поля добавить в таблицу UserInfo...
...
Рейтинг: 0 / 0
11.03.2004, 17:26
    #32438572
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
придется писать исчо один запрос на удаление...
кстати, эти вопросы мнго раз обсуждались. В поиск!

...
Рейтинг: 0 / 0
11.03.2004, 17:26
    #32438573
Денис1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
Таблицу UserInfo я связать хочи с textCer по UserInfoюReqID textCer.ReqID
...
Рейтинг: 0 / 0
11.03.2004, 17:36
    #32438598
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
Это понятно, что ты их хочешь связать, но по условию создания таблицы textCer выходит так, что в нее не получится вставить более одной записи с каким-нибудь ReqID...
Т.е.
INSERT INTO textCer (ReqID) VALUES (255) - пройдет, а есчо раз:
INSERT INTO textCer (ReqID) VALUES (255) - обломится...
Так и должно быть?
...
Рейтинг: 0 / 0
11.03.2004, 17:54
    #32438655
Денис1980
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
Да
Спасибо если что еше спрашу у вас
...
Рейтинг: 0 / 0
11.03.2004, 18:07
    #32438703
BigHarry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связь таблиц
Тады наверно имеет смысл сделать только одну таблицу:
CREATE TABLE `UserInfo` (
`FullName` varchar(255) NOT NULL default '',
`Company` varchar(255) NOT NULL default '',
`Depart` varchar(255) NOT NULL default '',
`Email` varchar(100) NOT NULL default '',
`Num_Dog` varchar(15) NOT NULL default '',
`ReqID` int(25) NOT NULL auto_increment,
`KeyWord` varchar(8) NOT NULL default 'Non reco',
`ReqIDServ` int(11) NOT NULL default '0',
`InfoDop` text NOT NULL,
`PKCS` mediumtext NOT NULL,
`TypeReq` char(3) NOT NULL default '0',
`DatePostReq` datetime NOT NULL default '0000-00-00 00:00:00',
`DateCert` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`ReqID`)
)
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Связь таблиц / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]