|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
Есть две таблицы. В каждой по полю, которое заполняю автоинкрементом. Надо реализовать тестовые данные для связи один к одному. Я предполагаю сделать так: взять таблицу, в которой меньше записей и случайным образом соединить их с записями из второй таблицы. Но как это сделать средствами MySQL не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 20:43 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
Связь 1:1 - это теоретический измышлизм, который невозможно реализовать на практике. Реально это всегда 1:(0 или 1). AnnitaBells как это сделать средствами MySQL не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 21:20 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
AnnitaBells, в одной таблице добавим поле, делаем уникальный форейжн на автоинкремент другой таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 21:40 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
AnnitaBells в которой меньше записей ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 21:54 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
Akina Связь 1:1 - это теоретический измышлизм, который невозможно реализовать на практике. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 21:56 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
Akina А версия-то у MySQL есть? и какая именно... 5.1 Alex_Ustinov AnnitaBells, в одной таблице добавим поле, делаем уникальный форейжн на автоинкремент другой таблицы. Там три таблицы. Хочу третью заполнить данными из первых двух. table1 (t1ID number AI, ...) table2 (t2ID number AI, ...) table3 (t1ID, t2ID) t1ID и t2ID заполняю автоматом, иногда удаляю записи, поэтому могут быть пробелы в данных. Как заполнить table3? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 21:59 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
AnnitaBells, по какой логике t1ID должен соответствовать t2ID ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 22:47 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
miksoft, Записи связываются случайным образом, главное, чтобы t1ID сотоветствовал одному и только одному t2ID (а t2ID соответствовал одному и только одному t1ID). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2020, 23:00 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
miksoft А два встречных внешних ключа разве не делают это? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 00:18 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
Akina только без права вставки Не обязательно. Может быть сервисная запись с id=0, на которую будет ссылаться создаваемая запись и в которой затем fk будет обновляться. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 10:46 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
AnnitaBells Там три таблицы. Хочу третью заполнить данными из первых двух. table1 (t1ID number AI, ...) table2 (t2ID number AI, ...) table3 (t1ID, t2ID) t1ID и t2ID заполняю автоматом, иногда удаляю записи, поэтому могут быть пробелы в данных. Как заполнить table3? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 11:06 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
Alex_Ustinov, нужен insert into table3 select ... from ... (хитрый запрос из первой и второй, смысл я писала в первом сообщении "взять таблицу, в которой меньше записей, и случайным образом соединить эти записи с записями из второй таблицы") Данные уже есть в таблицах. Зачем триггер? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 12:06 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
Akina miksoft А два встречных внешних ключа разве не делают это? В MySQL можно попробовать, если внешние ключи делать на разных парах полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 12:06 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
AnnitaBells нужен insert into table3 select ... from ... (хитрый запрос из первой и второй, смысл я писала в первом сообщении "взять таблицу, в которой меньше записей, и случайным образом соединить эти записи с записями из второй таблицы") Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Но записей получится столько, сколько в меньшей таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 12:17 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
Alibek B. Может быть сервисная запись с id=0, на которую будет ссылаться создаваемая запись miksoft В Оракле, например, существуют deferred constraints, которые проверяются в момент коммита, а не инесерта. В MySQL можно попробовать, если внешние ключи делать на разных парах полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 13:04 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
miksoft Но записей получится столько, сколько в меньшей таблице. Подправила и получила именно то, что хотела. Спасибо! Ещё добавила rand(). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 13:18 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 14:00 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
AnnitaBells В смысле? Что делать надо? Цель какая? Один ко многим это PK и FK ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 15:59 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
Нестандартное мышление AnnitaBells В смысле? Что делать надо? Цель какая? Один ко многим это PK и FK Цель как и в первом случае заполнить третью таблицу данными из первых двух. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 16:22 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
AnnitaBells Нестандартное мышление пропущено... В смысле? Что делать надо? Цель какая? Один ко многим это PK и FK Цель как и в первом случае заполнить третью таблицу данными из первых двух. В связи один ко многим не надо 3 таблицы Там используются 2. В одной - где одни, вторая - где многие Вообще Вам зря посоветовали связь 1-1 делать через 3 таблицы Черерез 3ю таблицу делается связь многие ко многим ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 17:09 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
Нестандартное мышление, И вообще. Если связи 1-1, то почему в одной таблице не хранить? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 17:14 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
Нестандартное мышление Нестандартное мышление, И вообще. Если связи 1-1, то почему в одной таблице не хранить? Разные сущности. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 17:44 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
AnnitaBells Нестандартное мышление Нестандартное мышление, И вообще. Если связи 1-1, то почему в одной таблице не хранить? Разные сущности. Сущности чего? Если связь 1 в 1? Поясните тогда, что Вы в разных таблицах храните? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 17:46 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
AnnitaBells Alex_Ustinov, нужен insert into table3 select ... from ... (хитрый запрос из первой и второй, смысл я писала в первом сообщении "взять таблицу, в которой меньше записей, и случайным образом соединить эти записи с записями из второй таблицы") Данные уже есть в таблицах. Зачем триггер? авторt1ID и t2ID заполняю автоматом, иногда удаляю записи , поэтому могут быть пробелы в данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:11 |
|
Как реализовать связь один к одному?
|
|||
---|---|---|---|
#18+
Alex_Ustinov AnnitaBells Alex_Ustinov, нужен insert into table3 select ... from ... (хитрый запрос из первой и второй, смысл я писала в первом сообщении "взять таблицу, в которой меньше записей, и случайным образом соединить эти записи с записями из второй таблицы") Данные уже есть в таблицах. Зачем триггер? авторt1ID и t2ID заполняю автоматом, иногда удаляю записи , поэтому могут быть пробелы в данных. Это ад какой то Значит удаление неправильное. Мертвых записей море будет А один ко многим - это вообще цирк с таким подходом будет Можно без триггера, но тогда очень аккуратно логику UpdInsDel делать Коточе - какое то безобразие ... |
|||
:
Нравится:
Не нравится:
|
|||
23.05.2020, 18:19 |
|
|
start [/forum/topic.php?fid=47&fpage=21&tid=1828557]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 140ms |
0 / 0 |