Вставить запрос для таблиц с подключенным внешним ключом - PullRequest
0 голосов
/ 11 июня 2011

Предположим, у меня есть две таблицы со ссылками на адреса внешнего ключа.Предположим, у человека может быть другой адрес.Таким образом, структура таблицы выглядит следующим образом, где, например, человек aa имеет два адреса.

таблица A

id name age adress
-------------------
1  aa   bb  10
2  xx   cc  11 

таблица B

id adress lane1 lane2 lane3 
----------------------------
1  10     l2    l2    l3
2  10     v1    v2    v3

Пожалуйста, скажите мне, как написатьоператор вставки SQL, где я могу охватить сценарий, у которого есть два адреса.(вставить оператор для заполнения данных, как показано в таблицах выше)

1 Ответ

0 голосов
/ 11 июня 2011

Когда у вас есть циклические внешние ключи, вам нужно то, что PostgreSQL называет отложенными ограничениями, не знаю, есть ли у mysql такие.Но это также признак плохого дизайна схемы.

Лучшая структура была бы:

table person

id name age

1  aa   bb
2  xx   cc

table address

id person lane1 lane2 lane3 
1  1     l2    l2    l3
2  1     v1    v2    v3

Тогда вам понадобится только один внешний ключ, и вставки не должны доставлять вам проблем..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...