insert multiple rows

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

Bekijk vacature »

Oracle Apex Developer

Dit ga je doen Jouw taken bestaan uit: Het bouwen maatwerk Oracle applicaties voor Europese business units; Het implementeren van de nieuwste technieken om te blijven innoveren; Actief meedenken en aandragen van verbetervoorstellen. Hier ga je werken Deze organisatie in de regio Veenendaal is een van wereld grootste retailers met ruim 16.000 winkels in 27 markten en jaarlijks ruim 5,3 miljard klanten die winkelen bij een van hun welbekende retailmerken. Binnen de organisatie is er een IT Group actief die dient als IT Service Provider voor de hele organisatie en waar dagelijks IT'ers werken aan state-of-the-art IT oplossingen. Dit doen

Bekijk vacature »

Software Ontwikkelaar

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »

C# .NET Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf. Lees dan snel verder! Voor deze functie zoeken wij een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Daarnaast begeleid je complexe projecten, wij zoeken iemand die altijd kansen ziet en waarbij het glas altijd half vol is. Voor deze functie zoeken wij een Developer met ervaring op het gebied van .NET die deze organisatie gaat versterken. Binnen de organisatie ga jij je vooral bezighouden met het verbeteren van

Bekijk vacature »

Fullstack developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

.NET developer

Functie Als .NET ontwikkelaar ga jij aan de slag bij een van onze klanten actief in de High Tech Industrie. Onze klanten zijn voornamelijk gelokaliseerd in de omgeving van Eindhoven. Wij zijn erg selectief als het gaat om de projecten die wij accepteren en richten ons dan ook alleen op innovatieve en complexe projecten. Omdat onze klanten voornamelijk gespecialiseerd zijn in de machinebouw, werk jij ook vaak dicht tegen de machines aan. Ons team bestaat momenteel uit Embedded engineers, IOT developers en Cloud engineers. Wij werken voornamelijk aan Microsoft projecten waar er gebruik wordt gemaakt van WPF, UWP, .NET Core

Bekijk vacature »

Senior Front-end Developer

Dit ga je doen Met behulp van diverse programmeertalen ontwikkelen van Front-end software; Het begeleiden van het front-end team; Het oplossen van incidenten; Het bijhouden van een backlog; Je hebt een actieve bijdrage in de wekelijkse overleggen met de omliggende teams; Je houdt trends bij en adviseert het management hierover waar nodig; Helder communiceren met de stakeholders om hen zo mee te nemen in projecten en laten inzien wat de duur en toegevoegde waarde van bepaalde projecten is. Hier ga je werken Deze organisatie heeft circa 40 miljoen bezoekers per maand en heeft innovatie hoog in het vaandel staan. Het

Bekijk vacature »

Scrum Master

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

Programmeur / Developer

Voor een familiebedrijf in Doetinchem, actief in de machinebouw voor de food-sector, zijn wij op zoek naar een programmeur / developer. In deze functie ben je werkzaam in een team van 5 medewerkers. Je werkzaamheden bestaan onder andere uit het verhelderen van requirements vanuit de opdrachtgever, de klant en de afdeling ontwikkeling. Je verricht haalbaarheidsstudies en werkt specificaties uit die je afstemt met de opdrachtgever. Je ontwerpt design in software en stemt af met je collega's. De huidige vision-systemen zijn geschreven in C software, welke draait op een CUDA platform. Je schrijft en codeert software en zal gaan testdraaien. Tot

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

Software Ontwikkelaar

Functieomschrijving In deze uitdagende functie als Software Developer ga je de volgende taken uitvoeren: Maatwerk back-end software programmeren; API koppelingen bouwen; Software optimaliseren voor klanten; Bouwen maatwerk applicaties; Werken met Microsoft stack zoals C#, .NET (Core) en Entity framework; Bedrijfsprofiel Je gaat werken bij een klein softwareontwikkelingsbureau, die maatwerk software bouwt voor klanten door heel Nederland. Dit doen zij al meer dan 20 jaar. Het is van oorsprong een familiebedrijf, opgezet door de eigenaar, die er nog steeds werkt. Het team bestaat vooral uit back-end developers en één systeembeheerder. Je krijgt veel kans om jezelf te ontwikkelen en krijgt tevens

Bekijk vacature »

C#.NET ontwikkelaar

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Je bouwt webshops, webapplicaties en websites, dit doe je door middel van ASP.NET, MVC Framework en C#. Je zorgt voor de optimalisering van bestaande software en de automatisering van

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving Startende Software Ontwikkelaar gezocht met kennis van C# .NET! Ben jij net klaar met je opleiding en ben je op zoek naar je eerste echte werkervaring? Of heb jij al enige werkervaring maar ben toe aan iets nieuws? Dan is dit de perfecte kans voor jou! Wij zoeken namelijk een Junior Software Ontwikkelaar die klaar is voor een nieuwe uitdaging bij een leuke werkgeven in de regio Zeist. In deze functie werk jij vaak aan verschillende projecten en ga je bij klanten op bezoek. Ben jij op zoek naar een functie met uitdaging, diversiteit en verantwoordelijkheid? Dan is

Bekijk vacature »

SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 13382 Introductie We is looking for a HANA Developer to work for our client. The candidate has to have an experience in building Data Intensive Applications (DIA’s). The role of a HANA Developer at ASML involves working on building Data Intensive Applications in an industrial/enterprise environment. The primary responsibility is to handle data from various sources and determine the best way to structure it for use by data analysts, who will run queries and algorithms against it for predictive and prescriptive analytics through machine learning. Wat verwachten we van jou?

Bekijk vacature »

C#.NET Developer

Functieomschrijving We are looking for a dutch native speaker In deze uitdagende functie ga je werken als onderdeel van het development team, in de functie van C#.NET Developer, Je gaat maatwerk software bouwen voor diverse klanten. Ook optimaliseer je bestaande software en bouw je API koppelingen. Je bent vooral met back-end development bezig. Je krijgt veel vrijheid in deze functie en je krijgt de kans om mee te denken in bedrijfsprocessen. Deels thuiswerken is geen enkel probleem! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van

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

06/11/2024 04:34:08
 
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.