powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Связь таблиц
20 сообщений из 20, страница 1 из 1
Связь таблиц
    #32437545
Денис1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди!
Подскажите пожалуйста , как прописываются связи между таблицыми в MySQL
...
Рейтинг: 0 / 0
Связь таблиц
    #32437637
BigHarry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В случае с выборкой (SELECT) через WHERE.
Типа так:
SELECT table1.Id, table2.name FROM table1, table2 WHERE table1.Id=table2.Id
...
Рейтинг: 0 / 0
Связь таблиц
    #32437675
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверно имелось ввиду REFERENCE?
...
Рейтинг: 0 / 0
Связь таблиц
    #32438135
Денис1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я имею в виду связи 1:1,1:M
...
Рейтинг: 0 / 0
Связь таблиц
    #32438221
BigHarry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трудно понять...
Покажи живой текст запроса...
...
Рейтинг: 0 / 0
Связь таблиц
    #32438261
Денис1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне нужно организовать связи между таблицами один к одному , один-многим
...
Рейтинг: 0 / 0
Связь таблиц
    #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
Связь таблиц
    #32438465
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Денис, если ты ожидаешь визардов аля ms access, то тебя ждет разочарование...

...
Рейтинг: 0 / 0
Связь таблиц
    #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
Связь таблиц
    #32438481
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не вижу указания типа таблиц: type=MyISAM? тогда ни о какой связи (на уровне ядра) не может быть и речи.

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

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


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

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

...
Рейтинг: 0 / 0
Связь таблиц
    #32438573
Денис1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблицу UserInfo я связать хочи с textCer по UserInfoюReqID textCer.ReqID
...
Рейтинг: 0 / 0
Связь таблиц
    #32438598
BigHarry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это понятно, что ты их хочешь связать, но по условию создания таблицы textCer выходит так, что в нее не получится вставить более одной записи с каким-нибудь ReqID...
Т.е.
INSERT INTO textCer (ReqID) VALUES (255) - пройдет, а есчо раз:
INSERT INTO textCer (ReqID) VALUES (255) - обломится...
Так и должно быть?
...
Рейтинг: 0 / 0
Связь таблиц
    #32438655
Денис1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да
Спасибо если что еше спрашу у вас
...
Рейтинг: 0 / 0
Связь таблиц
    #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
20 сообщений из 20, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Связь таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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