[mysql] ustawienie relacji

0

Witam, przeglądnąłem całe forum, ale niestety nie ma rozwiązania.

Mam tabele 'users' i tabele 'IP_address' i teraz jak ustawić relacje 1 do n, tzn. każdy user może mieć "n" addresów IP??


pozdrawiam

0

tabela users kazdy ma unikalne ID

tabela IP_addres a w niej pola
id_user i drugie IP_addr
i wypelniasz rozne adresy IP z tym samym id_user np:

3 123.2.2.3
3 123.4.3.2
4 123.4.32.2
3 123.4.5.3

0

wwww a gdzie te relacje ??
jak usune usera to jego wpisy z IP dalej zostaną ?? :/
jeśli chodzi o MySQL to obsluguje on relacje ale tylko dla tabel typu InnoDB http://dev.mysql.com/doc/refman/4.1/en/innodb-foreign-key-constraints.html

0

a to jak sie ustawia relacje zeby usuwajac jedno pole usunal inne to w tabeli czy lepiej w krypcie php tak ustawic ?

0

lepiej po stronie bazy... w końcu od tego są relacyjne bazy danych...

0

Wracając do tematu:

CREATE TABLE user (
id_user INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
surname VARCHAR(50) NOT NULL,
e-mail VARCHAR(50) NOT NULL,
stanowisko VARCHAR(50) NOT NULL,
unit VARCHAR(50) NOT NULL,
PRIMARY KEY (id_user)
)
TYPE = innodb;

CREATE TABLE user_description (
id_user INT NOT NULL,
description TEXT NOT NULL,
FOREIGN KEY (id_user)
REFERENCES user ('id_user') ON DELETE RESTRICT
)
TYPE = innodb;

mam coś takiego, i teraz jak wprowadzę 'id_user' w tabeli 'user' to chciałbym aby w tabeli 'user_description' pojawiło się, że mam do wyboru user'a nr: 1,2, 3 etc.
Jak to ustawić??

Cokolowiek wprowadze w tabeli 'user' Mysql zwraca błąd:
MySQL zwrócił komunikat:

#1216 - Cannot add or update a child row: a foreign key constraint fails

jakieś pomysły ??

0
CREATE TABLE `user` (
  `id_user` INT NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(50) NOT NULL,
  `surname` VARCHAR(50) NOT NULL,
  `e-mail` VARCHAR(50) NOT NULL,
  `stanowisko` VARCHAR(50) NOT NULL,
  `unit` VARCHAR(50) NOT NULL,
  PRIMARY KEY (`id_user`)
)
TYPE = innodb;

CREATE TABLE `user_description` (
  `id_user` INT NOT NULL,
  `description` TEXT NOT NULL,
  KEY `id_user` (`id_user`),
  CONSTRAINT `user_description_ibfk_1` FOREIGN KEY (`id_user`) REFERENCES `user` (`id_user`))
TYPE = innodb;
0

Wprowadziłam sobie te dwie tabele z tematu w phpMyAdminie i w jednej daje wpisy i w drugiej analogicznie do tego co było opisane wyzej. poczym usuwam usera a w drugiej tabeli nie znikają mi wpisy przypisane po ID do niego? [???]

nie wiem czy dobrze to opisałam, mam nadzieje, ze zrozumiecie kobite ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1