| | |
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
Autor | Správa |
---|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice |
Mam eshop, v ktorom je napr. tabulka users - s udajmi registrovanych uzivatelov.
Chcem vytvorit dalsi projekt na tom istom serveri, ktory by pracoval s novou tabulkou, kde by vsak boli stale aktualni registrovani uzivatelia z ehopu, avsak tato tabulka bude mat ovela viac a inych poloziek ako eshop. Spolocne budu mat len id, meno, login a heslo.
Jednou z moznosti bolo, ze pri registracii do eshopu sa udaje zapisu do tabulky eshopu a zaroven do druhej tabulky zapisem len tie udaje ktore potrebujem - napr. len id, meno, login a heslo uzivatela.
To by sa zdalo OK, lebo ked sa niekto novy regne, bude aj v mojej tabulke. Avsak ked si uzivatel zmeni meno ci heslo v eshope, alebo admin ho z eshopu vymaze, tak v mojej tabulke stale zostava...
Nechcem prehladavat cely eshop a vsade kde je INSERT, UPDATE ci DELETE davat to iste aj do mojej tabulky.
Chcem sa vas teda opytat na nejaky jednoduchsi sposob..proste aby som mal stale tych istych uzivatelov v mojej tabulke ako v eshope.
napada ma:
Pri kazdom spusteni toho subprojektu - ziskat udaje z eshop tabulky, DELETE vsetko z mojej tabulky a INSERT vsetkych ziskanych udajov z eshopovej tabulky do mojej.
Avsak nie je to dobry sposob, co ked je v tom mojom projekte niekto prave prihlaseny a vymaze sa, a vymazu sa tiez vsetky ostatne polozky u tabulky.
Viete pomoct?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
co tak do tej novej tabulky uviest len id uzivatela z eshopu + nove polozky? v tabulke users v eshope potom treba nastavit, ze ak sa z nej vymaze zaznam, vymaze sa aj v tabulke noveho projektu (ON DELETE CASCADE)... proste nastavenie cudzich a primarnych klucov...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 03.06.2009 14:50 | |
|
aha...no to DELETE CASCADE je pre mna nieco nove. Cital som teraz par veci o tom, znie to zaujimavo.
Aj som si to skusil, ale niekde je zrada:
prva tabulka nech sa vola SHOP so stlpcami ID, MENO, HESLO.
druha - ta moja - tabulka nech sa vola USERS a vytvoril som ju takto Kód: CREATE TABLE users ( id int NOT NULL AUTO_INCREMENT, PRIMARY KEY(id), VEK text NOT NULL, ZAMESTNANIE text NOT NULL, PLAT text NOT NULL, assignment_id int NOT NULL, INDEX fk_assignment_id (assignment_id), FOREIGN KEY (assignment_id) REFERENCES shop(id) ON DELETE CASCADE )
ale ked pomocou DELETE vymazem riadok z tabulky shop, z druhej tabulky sa mi nevymaze nic...
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
assignment_id obsahuje id z tabulky shop? su obe tabulky InnoDB?
http://dev.mysql.com/doc/refman/5.1/en/ ... aints.html
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 03.06.2009 15:49 | |
|
Super! uz to funguje!
nemal som Type = InnoDB pre obe tabulky.
Teraz uz len problem, ako to urobit na ostro - ako urcit InnoDB pre tu existujucu databazu v eshope. Nie je to moj eshop, nerad by som tam nieco pokazil. Dufam ze InnoDB nebude mat nejaky iny vplyv na tu databazu.
Asi len exportovat databazu, doplnit type innoDB a opat nahodit ako query naostro...
nejaky iny napad? co ked si niekto prave objednava tovar v eshope?
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
sprav si najskor zalohu db, keby sa nahodou nieco posahalo... ked budes menit typ tabulky, mozes eshop pre verejnost na par minut vypnut...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
| Stránka: 1 z 1
| [ Príspevkov: 6 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|