35 / 32 / 21
Регистрация: 11.07.2014
Сообщений: 390
|
|||||||||||
1 | |||||||||||
Связь многие к одному/ один к многим15.02.2015, 22:07. Показов 2981. Ответов 7
Метки нет Все метки)
(
Вот не могу понять эти связи, как они действуют.
Например у меня есть две таблицы: Автомобиль
Как правильно добавлять данные? При добавлении нового владельца, надо ли искать, есть ли такой уже в БД для того чтобы ему присвоить новый автомобиль(2-ой или 3-ий...n-ый)? Может кто знает хорошие видеоуроки по SQL ?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
|
|
15.02.2015, 22:07 | |
Ответы с готовыми решениями:
7
Связь многие ко многим Запрос Многие-ко-Многим ( связь большого количества таблиц) Обновление данных таблицы на основе запроса (связь многие-ко-многим) |
![]() 934 / 692 / 235
Регистрация: 01.02.2015
Сообщений: 1,848
|
|
16.02.2015, 00:04 | 2 |
1
|
35 / 32 / 21
Регистрация: 11.07.2014
Сообщений: 390
|
|
16.02.2015, 19:18 [ТС] | 3 |
0
|
Почетный модератор
![]() ![]() 16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
||||||||||
16.02.2015, 19:30 | 4 | |||||||||
...только структура сырая и неверная. Надо еще добавить табличек ![]()
А уже потом извлекать с помощью JOIN ![]() ...Либо использовать нереляционные СУБД..
1
|
![]() 934 / 692 / 235
Регистрация: 01.02.2015
Сообщений: 1,848
|
|
16.02.2015, 22:39 | 5 |
Вариант 1. Писать два запроса, первый проверяет есть ли уже маил в базе (маил это индекс везде). Второй запрос вставляет юзера
Вариант 2. маил оригинальный индекс, вставляем в лоб запись если ошибка отлавливаем Вариант 3. Написать хранимую процедуру(тригер) и переложить все на ее плечи Поначалу, начни с 1
1
|
Почетный модератор
![]() ![]() 16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|
16.02.2015, 22:42 | 6 |
вариант 2, 3 - зачем?
З.Ы. Есть INSERT IGNORE / INSERT ON DUPLICATE. Только как тогда сообщение пользователю вывести? Разве что смотреть ответ, сколько записей затронуто.. Имхо, 1 вариант вполне подходит.
1
|
![]() 934 / 692 / 235
Регистрация: 01.02.2015
Сообщений: 1,848
|
|
16.02.2015, 22:53 | 7 |
сам же ответил на свой вопрос lastInsertId()
самый лучший здесь 3 вариант сервер все сам сделает и вернет то что нужно переложить на сторону сервера эту отработку
1
|
Почетный модератор
![]() ![]() 16842 / 6720 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|
17.02.2015, 00:31 | 8 |
нет, я говорил не про lastInsertId, а про ответ самого INSERT - он должен возвращать количество добавленных рядов.
Насчет самого лучшего третьего - в сомнениях, что это будет легче для мускула, нежели подсчитать количество рядов (имеется в виду при больших объемах данных). Но проверять нет желания - а без этого и говорить ничего не хочется (ну разве что имхо, и все)
1
|
17.02.2015, 00:31 | |
Помогаю со студенческими работами здесь
8
Устанавливается связь один-к-одному вместо один-ко-многим Связь многие ко многим связь многие ко многим Связь многие ко многим Связь многие ко многим Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |