Autor | Zpráva | ||
---|---|---|---|
kukweb Profil |
#1 · Zasláno: 15. 4. 2008, 00:35:59
ahoj,
byl bych rad, kdby nekdo poradil jak propojit dve mysql tabulky. CREATE TABLE `mail` ( `id` int(11) NOT NULL auto_increment, `email` varchar(30) collate utf8_czech_ci NOT NULL default '', `rand_chars` varchar(30) collate utf8_czech_ci NOT NULL default '', `meno` varchar(30) collate utf8_czech_ci NOT NULL default '', `overeno` varchar(3) collate utf8_czech_ci NOT NULL default '', `odeslano` varchar(3) collate utf8_czech_ci NOT NULL default '', `sledovat` varchar(4) collate utf8_czech_ci NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci ; CREATE TABLE `dvd` ( `id` int(11) NOT NULL auto_increment, `dvd_jmeno` varchar(30) collate utf8_czech_ci NOT NULL default '', `dvd_vydavate` varchar(30) collate utf8_czech_ci NOT NULL default '', `date` varchar(12) collate utf8_czech_ci NOT NULL default '', `dvd_info` varchar(30) collate utf8_czech_ci NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci ; tak nejak jsem je vytvoril. A ted bych rad, udelal ze kdyz dnesni datum se bude = date (to je datum vydani dvd) z tabulky dvd a urcite e-mail bude sledovat ID dvd ( to je zapsano v tom sledovat) tak aby mu to poslalo e-mail pokud jeho e-mail je overeny. Na me je toto nejak moc :( Snad jsem to popsal rozumne |
||
kukweb Profil |
#2 · Zasláno: 15. 4. 2008, 07:19:32 · Upravil/a: kukweb
nasel jsem tento clanek
http://www.mikajik.info/vyvoj-php-sql/mysql-cizi-klice.html CREATE TABLE `join_dvd_mail` ( `dvd_id` int(5) NOT NULL, `dvd_date` int(12) NOT NULL, `dvdj_jmeno` int(30) NOT NULL, `mail_email` int(30) NOT NULL, `mail_overeno` int(3) NOT NULL, `mail_odeslano` int(3) NOT NULL, KEY `fk_dvd_id` (`dvd_id`), KEY `fk_dvd_date` (`dvd_date`), KEY `fk_dvdj_jmeno` (`dvdj_jmeno`), KEY `fk_mail_email` (`mail_email`), KEY `fk_mail_overeno` (`mail_overeno`), KEY `fk_mail_odeslano` (`mail_odeslano`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; ALTER TABLE `join_dvd_mail` ADD CONSTRAINT `fk_dvd_id` FOREIGN KEY(`dvd_id`) REFERENCES dvd(id) ON UPDATE CASCADE ON DELETE RESTRICT; ALTER TABLE `join_dvd_mail` ADD CONSTRAINT `fk_dvd_date` FOREIGN KEY(`dvd_date`) REFERENCES dvd(date) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE `join_dvd_mail` ADD CONSTRAINT `fk_dvdj_jmeno` FOREIGN KEY(`dvdj_jmeno`) REFERENCES dvd(dvd_jmeno) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE `join_dvd_mail` ADD CONSTRAINT `fk_mail_email` FOREIGN KEY(`mail_email`) REFERENCES mail(email) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE `join_dvd_mail` ADD CONSTRAINT `fk_mail_overeno` FOREIGN KEY(`mail_overeno`) REFERENCES mail(overeno) ON UPDATE CASCADE ON DELETE CASCADE; ALTER TABLE `join_dvd_mail` ADD CONSTRAINT `fk_mail_odeslano` FOREIGN KEY(`mail_odeslano`) REFERENCES mail(odeslano) ON UPDATE CASCADE ON DELETE CASCADE; je to o dost snadnejsi, ale stejne mam nekde chybu. Jsem zacatecnik :( poradi nekdo pls. |
||
TSD Profil * |
#3 · Zasláno: 15. 4. 2008, 07:50:23
A ted bych rad, udelal ze kdyz dnesni datum se bude = date (to je datum vydani dvd) z tabulky dvd a urcite e-mail bude sledovat ID dvd ( to je zapsano v tom sledovat) tak aby mu to poslalo e-mail pokud jeho e-mail je overeny.
Pěkné. A teď ještě jednou a česky. Pokus se používat diakritiku a interpunkci, není to nic bolestivého. Ten tvůj první příspěvek jsem pochopil tak, že bys něco potřeboval, i když nevím co. Ten druhý jsem nepochopil vůbec. |
||
kukweb Profil |
#4 · Zasláno: 15. 4. 2008, 18:22:25
to jsme dva :)
|
||
BetaCam Profil |
#5 · Zasláno: 17. 4. 2008, 08:47:12
První sice chápu dokonce i chceš, ale máš tam divné typy sloupců např varchar u date či odeslano varchar(3) bylo by možná dobré uvést i nějaké data z obou tabulek s nějakými testovacími daty jinak se nedá dost dobře odhadnout SQL dotaz.
Ten tvůj druhej post je pro InnoDB a ne pro MyISAM jako je tvůj první post tak si vyber jakou db budeš vlastně používat. |
||
Časová prodleva: 5 měsíců
|
|||
jozin Profil * |
#6 · Zasláno: 27. 9. 2008, 16:27:24
sice jsem moc necet co presne potrebujes, ale pokud pouzijes MyISAM, tak relace neudelas, tz. pri CREATE tabulek dej InnoDB, a pak uz ti ty relace pujdou vytvorit
|
||
Časová prodleva: 16 let
|
0