gegevens toevoegen zonder eerst de tabel te lezen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marco V

Marco V

11/11/2010 15:32:46
Quote Anchor link
Hallo,

Ik vraag me af of er met MySQL een mogelijkheid bestaat om gegevens toe te voegen in een tabel zonder eerst te lezen, samenvoegen met nieuwe gegevens en vervolgens updaten?

Dus eigenlijk zoiets als in PHP kan worden gedaan met ".="

Doel is om gegevens aan een logbestand toe te voegen, zodoende bij te houden waar een gebruiker is geweest.
 
PHP hulp

PHP hulp

08/10/2024 04:08:22
 
Jordi Kroon

Jordi Kroon

11/11/2010 15:41:54
Quote Anchor link
nee dit gaat niet anders had phpmyadmin dit echt wel gedaan met het exporteren zodat de code korter word

hij moet eerst kijken wat hij in welke tabel in moet voegen en dan gaat hij pas de hokjes inkleuren
 
Obelix Idefix

Obelix Idefix

11/11/2010 15:43:42
Quote Anchor link
Invoegen in tabel gaat toch gewoon met insert-query?
En moet het gekoppeld worden aan reeds bestaande info zou je kunnen kijken naar een where-constructie.
 
John D

John D

11/11/2010 15:45:40
Quote Anchor link
een insert/update oftewel een merge bestaat niet in MySQL. merge is overigens wel een SQL 2008 standaard: http://en.wikipedia.org/wiki/Merge_%28SQL%29 en bijvoorbeeld Oracle heeft dit al geruime tijd geimplementeerd. MySQL kent wel INSERT ... ON DUPLICATE KEY UPDATE wat iets beperkter is maar ook wel goed bruikbaar.
Gewijzigd op 11/11/2010 15:47:58 door John D
 
Wout van der Burg

Wout van der Burg

11/11/2010 15:47:39
Quote Anchor link
Misschien een AJAX functie schrijven, die verwijst naar een query en die fungeert als tracker?
 
Wim ter Hart

Wim ter Hart

11/11/2010 15:57:02
Quote Anchor link
Voorafgaand aan MobiQust even een test.
 
Boris Mattijssen

Boris Mattijssen

11/11/2010 15:57:09
Quote Anchor link
Bedoel je niet gewoon:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
UPDATE tabel SET veld = CONCAT(veld, 'extrawaarde')
?
 
Wim ter Hart

Wim ter Hart

11/11/2010 15:58:17
Quote Anchor link
Ik ben er nog niet handig in. Maar dat komt wel.
 
Chris -

Chris -

11/11/2010 16:03:50
Quote Anchor link
@Wim, waar heb jij het over?

@Boris: Dat is inderdaad wat de TS nodig heeft, en wat John bedoelde ;-) Ik kon even niet op het woord komen, bedankt voor het geheugensteuntje!
 
Marco V

Marco V

11/11/2010 16:10:40
Quote Anchor link
Boris,

Begrijp ik je code goed, doe ik met "SET veld =" inderdaad wat ik wil?

In "tabel" wil ik aan "veld" een waarde toevoegen, dit doe ik dmv "CONCAT("de naam van het veld", "de waarde die ik wil toevoegen")

Na wat googlen kwam ik toch weer terug bij phphulp en vond min of meer dezelfde vraag: http://www.phphulp.nl/php/forum/topic/sql-concat/61475/

Dank voor jullie feedback, ik ga even pruDsen :-)

Toevoeging op 11/11/2010 16:46:54:

Okay, dan nu de praktijk.. so far so good, geen errormeldingen maar ook geen log!?

Zoals gezegd wilde ik naar een tabel "LOG" schrijven waar een bezoeker is geweest. Naar aanleiding van het voorgaande heb ik de volgende query geschreven;

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$Opdracht
= "UPDATE LOG SET PAGEVISITS = CONCAT(PAGEVISITS, ', ".$_SERVER['PHP_SELF']."') WHERE ID = '".$_SESSION['logid']."'";

    if (($result = mysql_query($Opdracht)) === false) {
        $RETURN = "FALSE";
        $foutmeldingen[] = "Log kan niet worden geschreven";
    }

?>


Toevoeging op 11/11/2010 16:52:21:

Nevermind, ik heb het al gevonden!
Als het veld nog leeg is wordt er niets toegevoegd :-) misschien moet ik dit veld maar standaard vullen met "iets"...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.