Meerdere tabellen update
Ik vroeg me af of het heel ingewikkeld is om meerdere tabbellen op een bepaalde waarde te updaten.
Ik heb nu 1 tabel met klanten + klantlogo's. en 1 tabel met opdrachten.
Overeenkomst is de tabelrij: "klant".
Als ik de klantennaam aanpas, wil ik de klantnaam dus in beiden tabellen updaten.
-------------------------------------------------
KLANTEN:
-------------------------------------------------
`k_id` int(11) NOT NULL auto_increment,
`klant` varchar(40) NOT NULL default '',
`logoname` varchar(30) NOT NULL default '',
`logotype` varchar(30) NOT NULL default '',
`logosize` int(11) NOT NULL default '0',
`logopath` varchar(60) NOT NULL default '',
PRIMARY KEY (`k_id`)
-------------------------------------------------
UPLOAD
-------------------------------------------------
`id` int(11) NOT NULL auto_increment,
`name` varchar(40) NOT NULL default '',
`type` varchar(30) NOT NULL default '',
`size` int(11) NOT NULL default '0',
`path` varchar(60) NOT NULL default '',
`label` varchar(40) NOT NULL default '',
`tekst` text NOT NULL,
`datum` date NOT NULL default '0000-00-00',
`category` varchar(255) NOT NULL default '',
`klant` varchar(40) NOT NULL default '',
PRIMARY KEY (`id`)
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$query = "UPDATE klanten SET klant = '$klant' WHERE k_id = '{$_GET['k_id']}'";
?>
$query = "UPDATE klanten SET klant = '$klant' WHERE k_id = '{$_GET['k_id']}'";
?>
kan dat ongeveer zo:
Code (php)
1
2
3
2
3
<?php
$query = "UPDATE klanten, upload SET klant = '$klant' WHERE klant = '{$_GET['klant']}'";
?>
$query = "UPDATE klanten, upload SET klant = '$klant' WHERE klant = '{$_GET['klant']}'";
?>
thnx voor de hulp alvast
Gewijzigd op 01/01/1970 01:00:00 door David david
Nee, nu niet meer, nu moet een mod het verplaatsten. Zucht.
En wat heb je zelf al gedaan?
En na zo'n 250 keer te hebben gepost weet je nog niet waar je dit moet posten..
EDIT
Waar is een scheldwoorden filter als je hem nodig hebt (*&^&%^&)
Gewijzigd op 01/01/1970 01:00:00 door Loran DP
fok.. verkeede forum is foutje..excuus
Je zit wel in het goede forum, maar niet in de juiste categorie:)
Maar ik krijg het nog niet dynamisch alleen..
UPDATE klanten, upload
SET
klanten.klant = 'joop',
upload.klant = 'joop'
WHERE (klanten.klant = upload.klant)
AND (klanten.klant = 'Bobob')
Gewijzigd op 01/01/1970 01:00:00 door david david
Waarom gebruik je niet het id van de klant om daarmee te koppelen? Dan ben je gelijk van de klantnaam in meerdere tabbelen af?
InnoDB gebruikt, kan je via een foreign key constraint klanten.klant koppelen aan upload.klant. Wanneer je dan die constraint meegeeft dat hij bij een update van klanten.klant ook upload.klant mee moet updaten zodat het weer klopt, gaat dit ook daadwerkelijk helemaal vanzelf. Dan hoef je alleen nog maar klanten.klant te updaten, en upload.klant wordt door de database zelf meegenomen.
Wanneer je Of moet je dan ook nog met bijv "upload.klant" etc werken?
Oftwel, heeft dit niks meer te maken met joins ed.?..
Oftewel. het klinkt geniaal :)
thnx
EDIT:
Om het betaande MyISAM naar InnoDB om te zetten moet ik zeker alles ALTEREN..?
Gewijzigd op 01/01/1970 01:00:00 door david david