dziekuje za odpowiedz
chodzili mi bardziej o kod w jaki sposob to zapisac
czy jezeli beda te klucze obce w tej tab1 to po dodaniu wiersza w tab2 automatycznie wstawi wartosc??
Tak czy jak?
CREATE TABLE `tab1` (
`id` INTEGER AUTO_INCREMENT ,
`login` char (32) NOT NULL DEFAULT '',
`pass` char (32) NOT NULL DEFAULT '',
`id_tab2` INTEGER DEFAULT '0',
PRIMARY KEY (`id`)
);
CREATE TABLE `tab2` (
`id` INTEGER AUTO_INCREMENT ,
`imie` char (32) NOT NULL DEFAULT '',
`nazwisko` char (32) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
);
czy tak?
CREATE TABLE tab1 (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
login CHAR NULL,
pass CHAR NULL,
tab2_id INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(id),
INDEX tab1_FKIndex1(tab2_id)
);
CREATE TABLE tab2 (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
imie CHAR NULL,
nazwisko CHAR NULL,
PRIMARY KEY(id)
);
uzywam dbdesignerow ;p co sam nie bardzo nie rozumiem tych relacji.. :/ tzn nie wiem jak polaczyc ;/
Poprostu chodzi mi o to zeby uzytkownik mogl na zalozyc acc
dalsze info moze zalozyc pozniej ale w miedzy czasie inny moze chciec zalozyc wiec tab.id moze nie zgadzac sie z danymy z tab2.id
Jak to jest z tym fk jezeli w ten tab1 jak teraz bedzie ten fk na id_tab2, to jezeli wprowadze dane do tab1 to automatycznie w tab2 dostane klucz czy jak to bedzie?
prosze o odpowiedzi na wszystkie pytania;p
edit...
jeszcze cos takeigo wymyslilem przez phpadmin..:S
CREATE TABLE `tab2` (
`id` int(11) NOT NULL,
`imie` varchar(32) NOT NULL,
`nazwisko` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin2;
CREATE TABLE `tab1` (
`id` varchar(11) NOT NULL,
`login` varchar(32) NOT NULL,
`pass` varchar(32) NOT NULL,
PRIMARY KEY (`id`),
CONSTRAINT `tab1_ibfk_1` FOREIGN KEY (`id`) REFERENCES `tab1` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin2;
prosze powiedziec ktore drobe.. albo mnie poprawic

z gory dzieki