insert multiple rows

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Developer

Functie omschrijving C# .NET Developer gezocht. Ben jij een full stack developer die op zoek is naar een nieuwe uitdaging binnen een leuk snel groeiend bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Developer met ervaring op het gebied van .NET die een organisatie in de regio Bennekom gaat versterken. Jij gaat je binnen dit bedrijf vooral bezighouden met het verbeteren van de functionaliteiten van hun dataplatform. Samen met andere ontwikkelaars denk je mee in oplossingsrichtingen, architectuur en nieuwe technologieën. Bedrijfsprofiel De organisatie waar je voor gaat werken heeft een onafhankelijk dataplatform ontwikkelt voor de agrarische sector.

Bekijk vacature »

SQL Database developer

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

Senior Lead Front End Developer

Functieomschrijving Voor Stichting Waternet zijn wij op zoek naar een senior Lead Front End Developer. Binnen het DevOps team Online zijn we op zoek naar een Senior Lead Front End developer met kennis van toegankelijkheid. Deze developer zal zich bezighouden met development van webpaginas die in verbinding staan met systemen uit het back office. Taken Ontwerpen, ontwikkelen, implementeren, documenteren en beheren van webapplicaties in een Azure-omgeving Debuggen, analyseren en oplossen van problemen in de OTAPomgevingen Je participeert in het DevOpsTeam Online voor het verder uitwerken en implementeren van gebruikerswensen Je bent betrokken bij toegankelijkheid audits en het implementeren van WCAG

Bekijk vacature »

C#.NET Developer Jr. Functie

Functie omschrijving Bouw jij graag aan applicaties om processen in distributiecentra te optimaliseren? Wij zijn op zoek naar een C#.NET ontwikkelaar in regio Breda die hier graag een steentje aan bijdraagt! Jouw werkzaamheden zullen er als volgt uitzien: Je krijgt veel vrijheid in de keuze van de technieken die je gaat gebruiken. Uiteraard wel binnen de gestelde kaders, en door gebruik te maken van het .NET platform. Je gaat aan de slag met de ontwikkeling van een nieuwe module binnen de WMS suite van dit bedrijf. Deze "carrier" module gaat er voor zorgen dat de selectie van een vervoerder volledig

Bekijk vacature »

Back-End Web Developer

As a Back-End Web Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a Back-End Web Developer at Coolblue? As a Back-End Web Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you also feel confident with setting up microservices in Typescript or are open to learning this. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing pure

Bekijk vacature »

Back end developer PHP

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

Medior Front end developer React

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor op de

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

Bekijk vacature »

Java Developer / Sociaal domein

Dit ga je doen Nieuwbouw en doorontwikkeling; Beheer en wanneer nodig onderhoud; Bijdrage leveren in het functioneel- en technisch ontwerptraject; Analyseren van productie verstoringen; Meedenken over vernieuwingen en verbeteringen. Hier ga je werken De organisatie waar jij komt te werken focust zich op software development met een maatschappelijk tintje. De afdeling software ontwikkeling bestaat uit vijf verschillende scrum teams, met allen hun eigen focus gebied. Zo zijn er een aantal teams die zich focussen op specifieke applicaties, maar is er ook een team gericht op projecten. Binnen de organisatie staat innovatie en kwaliteit voorop. Een aantal applicaties draait nog op

Bekijk vacature »

C# .NET Developer

Functieomschrijving Voor dit leuke softwarre bedrijf in de omgeving Vught zijn we per direct op zoek naar een C#/.NET Developer. Is development jouw passie en doe je dit graag met C#/.NET? Lees dan snel verder! Jou werkzaamheden zullen zijn: Zorgen voor de optimalisatie van de huidige software en het automatiseren van bedrijfsprocessen. Naar aanleiding van de wensen van de klant ga je, met je collega's op zoel naar passende oplossingen en je werkt dit uit tot een mooi eindproduct. Je gaat webshops, websites en webapplicaties ontwikkelen door middel van ASP.NET, C# en MVC Framework. Bedrijfsprofiel Deze opdrachtgever houdt zich bezig

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

Software Developer

Longship.io gaat de wereld veroveren met baanbrekende software en legendarische... pizza-avonden! Lees hier de vacature van Software Developer! Bij Longship werken we met een team van 5 mensen aan software voor laadpaal operators. Longship is ontstaan in 2020 met als doel om de elektrische mobiliteitstransitie aan te jagen. We zijn nu al een wereldwijde speler doordat we continu voorop lopen in innovatie. Ons platform helpt het versneld elektrificeren van wagenparken, internationaal! Wij zijn een startup met grote ambities die we willen bereiken met een relatief klein en efficiënt team. Je krijg de kans om ontzettend veel te leren van ervaren

Bekijk vacature »

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

Bekijk vacature »

Junior Java Developer

Dit ga je doen Je ontwikkelt innovatieve, maatschappelijk belangrijke applicaties; Je implementeert nieuwe features; Je gaat in gesprek met eindgebruikers en designers om de applicaties continu te finetunen; Je draait mee in een professionele Agile/Scrum omgeving. Hier ga je werken Onze klant is een internationale organisatie gevestigd in de omgeving van Amsterdam. Ze staan zeer goed bekend in de markt door hun innovatieve dienstverlening op IT gebied en hun gepassioneerde werknemers. Voor hun inspanningen op het gebied van IT hebben ze meerdere prijzen gewonnen! Onze klant is onderdeel van een Corporate werkgever en heeft zelf 300 mensen in dienst. Om

Bekijk vacature »
Ozzie PHP

Ozzie PHP

27/03/2012 00:02:49
Quote Anchor link
Hallo,

Ik kan het momenteel niet testen en ik heb al op internet gezocht naar een antwoord, maar ik kan het niet direct vinden. Wellicht weet iemand dit.

In PDO heb je een functie rowCount() waarmee je het aantal rijen kunt opvragen dat je ge-insert hebt. Nu vraag ik me het volgende af. Ik zou denken dat je per keer maar 1 rij kunt inserten en dat die rowCount dus altijd 1 teruggeeft. Is het ook mogelijk om meerdere rijen in 1x keer te inserten waardoor rowCount een hoger aantal teruggeeft? Zoals ik al zei kan ik het momenteel niet testen, maar wellicht weet iemand dit?
 
PHP hulp

PHP hulp

22/11/2024 20:34:02
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/03/2012 06:44:04
Quote Anchor link
Yepz, als volgt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
INSERT INTO tabel (c1, c2, c3)
VALUES (v1,v2,v3), (v4,v5,v6), (v7,v8,v9)
 
Ozzie PHP

Ozzie PHP

27/03/2012 09:25:01
Quote Anchor link
Thanks Ger! Dat wist ik nog niet!

Maar nu vraag ik me dan toch af... wanneer en vooral waarom zou je op deze manier meerdere rijen invoegen? Misschien een vreemde vraag... maar in PDO kun je dus ook dit doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$query
= 'INSERT INTO tabel (kolom1) VALUES (:waarde1)';
$stmt = $database->prepare($query);
$values = array(':waarde' => 'ozzie');
$stmt->execute($values);
$values = array(':waarde' => 'ger');
$stmt->execute($values);
?>


Dit lijkt mij (zo op het eerste gezicht) handiger. Dus ik ben heel benieuwd in welke situatie(s) en waarom je in de praktijk deze manier zou toepassen:

INSERT INTO tabel (c1, c2, c3)
VALUES (v1,v2,v3), (v4,v5,v6), (v7,v8,v9)

Reacties zijn welkom!
Gewijzigd op 27/03/2012 09:32:12 door Ozzie PHP
 
Gerhard l

gerhard l

27/03/2012 09:44:35
Quote Anchor link
Ozzie, ik heb een script draaien dat van een aantal websites rss feeds ophaalt voor op mijn eigen site, deze haalt meestal wel 150-300 feeds binnen, deze zet ik dus om naar zo'n query: INSERT INTO tabel (c1, c2, c3) VALUES (v1,v2,v3), (v4,v5,v6), (v7,v8,v9), anders moet ik voor elke INSERT een aparte query doen.
 
Ozzie PHP

Ozzie PHP

27/03/2012 09:50:44
Quote Anchor link
Gerhard, dankjewel voor je reactie. Maar 150 tot 130 feeds... dan wordt je query toch heeeeeel lang?

Bij PDO kun je een query "preparen" waardoor je deze als het ware in het geheugen zet. De query kun je dan vervolgens "executen" met andere waardes. Dit LIJKT mij gemakkelijker... want in jouw voorbeeld, als je 150 tot 130 feeds moet inladen, dan neem ik aan dat je die in een array zet of iets dergelijks.... en dat je die array dan geautomatiseerd ombouwt naar een hele lange query?

INSERT INTO tabel (c1, c2, c3) VALUES (v1,v2,v3), (v4,v5,v6), (v7,v8,v9) ... (v125,v126,v127) , (v128,v129,v130)

Of begrijp ik het verkeerd?
 
Gerhard l

gerhard l

27/03/2012 09:57:55
Quote Anchor link
Ja het wordt een lange query, maar duurt nog geen seconde :P Ik durf niet te zeggen of PDO dan sneller is, dan moet ik dan maar es gaan testen. Maar zoals ik het nu heb werkt het heel gemakkelijk:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?
/**
* @param req. array $feeds - array met feeds
* @param req. int $id - id van de bijbehorende website
*/

function insertFeed($feeds, $id){
    $count = count($feeds) - 1;
    $i = 0;
    if(!empty($feeds)){
        $query_feed = "INSERT INTO
        feeds(
            feed_name,
            feed_url,
            feed_description,
            feed_publishdate,
            feed_date,
            website_id
        )
        VALUES
        "
;
        foreach ($feeds as $feed){
            $query_feed .= "(
                '"
.mysql_real_escape_string($feed['name'])."',
                '"
.mysql_real_escape_string($feed['url'])."',
                '"
.mysql_real_escape_string($feed['description'])."',
                '"
.mysql_real_escape_string($feed['pubdate'])."',
                now(),
                '"
. $id ."'
            )"
;
            if($i < $count){
                $i++;
                $query_feed .= ', ';
            }    
        }

        mysql_query($query_feed);
    }    
}

?>
Gewijzigd op 27/03/2012 09:58:11 door gerhard l
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/03/2012 09:59:12
Quote Anchor link
Klopt, wilde ik ook net gaan schrijven. Ik heb eens een test gedaan met 100.000 records en met een prepared statement, daar deed ie bijna 10 minuten over. 1 insert query met alle records 3 seconden !
Want ook al prepare je de client-server roundups blijven bestaan.

Dus eigenlijk wordt de waarde van prepared statement door velen ruim overschat als je over performance spreekt.
 
Ozzie PHP

Ozzie PHP

27/03/2012 10:31:51
Quote Anchor link
Hmmm, oke... maar dan gebruik je in dit geval dus GEEN prepared statement? Dat is uit veiligheidsoverwegingen wel weer minder :(

...maar als het zoveel scheelt in tijd dan is het natuurlijk wel de moeite waard!

Ik heb het nu zelf even getest met 100.000 inserts. Daar doet ie 9.1834588050842 seconde over (teminste ik denk dat het 9 sec. is. Ik heb gebruik gemaakt van microtime(true) voor en na het uitvoeren van de query en daar kwam dit getal uit.)

Supersnel is het inderdaad niet... maar is het reëel dat je onder normale omstandigheden 100.000 queries insert? Dat lijkt me eigenlijk niet...
Gewijzigd op 27/03/2012 10:32:11 door Ozzie PHP
 
Jan Willem R

Jan Willem R

27/03/2012 10:42:27
Quote Anchor link
Ik denk als je echt veel rows wil afvuren is het meer omdat je producten gegevens wil invoeren van een derde partij dit gebeurt meestal met behulp van een bestand.

Dit gebeurt meestal in een soort van TEMP database die even de gegevens goed erin zetten via LOAD DATA INTO (http://dev.mysql.com/doc/refman/5.1/en/load-data.html)

en dan doe je gewoon
INSERT INTO products (waarde, waarde) VALUES (SELECT waarde, waarde FROM temp)

(even uit mijn hoofd) dan doe je het sneller... maar ik snap niet anders waarom je 100.000 rows in een soort van array wil afvuren..
 
Ozzie PHP

Ozzie PHP

27/03/2012 10:50:56
Quote Anchor link
Nee, dat lijkt mij inderdaad ook niet dat je 100.000 rows ergens in gaat gooien :)
Ik hou het voorlopig maar bij m'n prepared statements. Ze zijn er uiteindelijk toch voor gemaakt zou je zeggen.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/03/2012 15:47:03
Quote Anchor link
Natuurlijk is het inserten van 100.000 records meer uitzondering dan regel. Ik moet eeerlijkheidshalve wel even vermelden dat waar ik getest heb de db-server geen localhost was, maar een andere server in de lAN.

Blijft de vraag wat je nu hebt aan een prepare (buiten security om) als je 1 query uitvoert.
 
Ozzie PHP

Ozzie PHP

27/03/2012 15:56:34
Quote Anchor link
Nou... de security dus... dat is volgens mij voldoende reden?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/03/2012 16:30:59
Quote Anchor link
Absoluut, maar je kunt dat toch ook wel zelf afvangen?
Wat ik mij afvraag is het volgende:
Ik kan met mysqlconnector.net parameters aan een sql command kopplen zonder een prepare te doen, is dit ook mogelijk met PDO en/of mysqli?
 
Ozzie PHP

Ozzie PHP

27/03/2012 16:35:29
Quote Anchor link
"Absoluut, maar je kunt dat toch ook wel zelf afvangen?"

Dat is juist hoe PDO werkt en wat een van de speerpunten is, dus dat wiel ga je dan niet opnieuw uitvinden. Bovendien kun je een query "hergebruiken". De 1e keer wordt de query in het geheugen gezet, daarna kun je deze meerdere keren gebruiken met andere waarden:

$query = 'SELECT waarde FROM mijntabel WHERE id = :id';
$db->prepare($query);
$waarde1 = $db->execute(array('id' => 10));
$waarde2 = $db->execute(array('id' => 12));
$waarde3 = $db->execute(array('id' => 15));
enz.

In PDO heb je ook bindParam maar dat gebruik ik zelf niet.
 



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.