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
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
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
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
a to jak sie ustawia relacje zeby usuwajac jedno pole usunal inne to w tabeli czy lepiej w krypcie php tak ustawic ?
lepiej po stronie bazy... w końcu od tego są relacyjne bazy danych...
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 ??
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;
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 ;)