SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.12.2013 21:16:17

rampi
Участник
Зарегистрирован: 02.12.2013
Сообщений: 1

Внешние ключи. Две таблицы ссылаются на одну

Есть 3 таблицы, 2(tbl_contact, tbl_account) таблицы ссылаются полем Ответственный(owner_id) на таблицу tbl_user.

tbl_user
id: int(11) primaryKey
name: varchar(255)

tbl_contact
id: int(11) primaryKey
name: varchar(255)
owner_id: int(11)

tbl_account
id: int(11) primaryKey
title: varchar(255)
owner_id: int(11)

Как мне разбросать связи? Пробовал выводить от tbl_contact, но тогда tbl_account матерится...
от tbl_user тоже пробовал там еще хуже...(

Неактивен

 

#2 03.12.2013 05:48:52

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Внешние ключи. Две таблицы ссылаются на одну

FAQ №4

Неактивен

 

#3 10.12.2013 15:02:58

dtsiv
Участник
Зарегистрирован: 10.12.2013
Сообщений: 1

Re: Внешние ключи. Две таблицы ссылаются на одну

Да, действительно, следует использовать внешние ключи. Вот работающий пример:

create table tbl_user (
    id numeric(11) primary key,
    name varchar(255) );
create table tbl_contact (
    id numeric(11) primary key,
    name varchar(255),
    owner_id numeric(11) references tbl_user);
create table tbl_account (
    id numeric(11) primary key,
    title varchar(255),
    owner_id numeric(11) references tbl_user);

insert into tbl_user values(1,'Коля');
insert into tbl_user values(2,'Вася');
insert into tbl_contact values (1,'контакт1',1);
insert into tbl_account values (1,'счёт1',2);
insert into tbl_account values (2,'счёт2',2);
insert into tbl_account values (3,'счёт3',1);
select a.name as 'пользователь', b.title as 'счет пользователя'
from tbl_user a, tbl_account b
where a.id=b.owner_id;

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson