insert_id

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET C# web developer gezocht met focus op gebruik

Ben je op zoek naar een baan binnen een klein softwarebedrijf? Een bedrijf met een informele, persoonlijke en familiaire sfeer? Waar je je als developer zowel richt op de back- als frontend? Wellicht dat deze vacature dan iets voor jou is. Voor een softwarebedrijf, gevestigd in het centrum van Rotterdam, zijn we momenteel op zoek naar .NET C# web developer. Dit mag iemand zijn die net van school komt, maar ook iemand die al behoorlijk wat ervaring heeft. Het bedrijf bestaat inmiddels ruim 10 jaar en en door de aanhoudende groei zijn ze opzoek naar versterking van 1 a 2

Bekijk vacature »

Java Developer AWS Financiële sector 5500,-

Functieomschrijving Ben jij een ervaren Java Developer, daagt een dynamische omgeving jou uit en bouw je graag innovatieve oplossingen? Werk je graag in de financiele sector en in een familiaire omgeving waar groei centraal staat? Lees dan snel verder! Het ontwikkelen van financiële applicaties in Java o.b.v. microservices architectuur; Software ontwikkelen specifiek voor het AWS platform om het maximale uit Amazon Webservices te halen; Werken aan een zeer veeleisende omgeving en continu veranderende applicaties; Het werken in een multidisciplinair team dat continu werk oplevert middels CI/CD; Deelnemen aan designsessies; Het schrijven van diverse automatische tests; Op de hoogte blijven van

Bekijk vacature »

Gezocht: BI Consultant/Developer die wil doorgroei

Functieomschrijving Je gaat je als BI Developer/Consultant bezighouden met het analyseren van organisatiedoelstellingen en het ontwerpen, realiseren en implementeren van Business Intelligence/Datawarehouse oplossingen. Dit doe je op zowel op één van de kantoren als bij de klant op locatie. Het is dus van belang dat je ervaring hebt met Datamodelleertechnieken, BI/ETL Toolings en Datawarehouse concepten. Functie-eisen - Je hebt HBO/WO werk- en denkniveau; - Je hebt minimaal 2 jaar relevante werkervaring; - Je bent bekend met Microsoft en/of Oracle omgevingen; - Je hebt Front-end ervaring (bijv: PowerBI/QlikView) - Je hebt een rijbewijs; - Je bent analytisch, kritisch, communicatief vaardig en

Bekijk vacature »

Senior Python Developer vacature

Jij volgt ontwikkelingen op de voet. Sterker nog: je bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Zo kun jij een bijdrage leveren aan de Rabobank-app, de beveiliging van treinen voor Pro-rail verbeteren of de website van ING een boost geven. Vergaderen? Liever gewoon zorgen dat het werkt! Hoe omschrijft men een Sogetist? Gedreven, resultaatgericht en niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons betreft net zo goed bij werken. Maar we gaan op de eerste plaats voor de

Bekijk vacature »

Grafische Programmeur / Software Ingenieur

Grafische Programmeur / Software Ingenieur Intro Ligt jou interesse in de automotive industrie? Heb je ervaring en affiniteit met game development en simulatieprogramma’s? Dan zijn wij op zoek naar jou! Onze klant in Eindhoven is per direct opzoek naar een Grafische programmeur. Functieomschrijving Onze klant ontwikkelt state-of-the-art simulaties van sensormodellen voor de auto-industrie. Deze sensoren, sensorsystemen en applicaties worden gebruikt om ADAS (autonome rijhulpsystemen) te ontwikkelen, zoals adaptive cruise control en lane assist. Om deze systemen in elke fysieke situatie te laten werken, zoals regen / mist / laag zonlicht, moeten zeer nauwkeurige op fysica gebaseerde modellen en simulaties worden

Bekijk vacature »

Senior Python Developer vacature

Jij volgt ontwikkelingen op de voet. Sterker nog: je bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Zo kun jij een bijdrage leveren aan de Rabobank-app, de beveiliging van treinen voor Pro-rail verbeteren of de website van ING een boost geven. Vergaderen? Liever gewoon zorgen dat het werkt! Hoe omschrijft men een Sogetist? Gedreven, resultaatgericht en niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons betreft net zo goed bij werken. Maar we gaan op de eerste plaats voor de

Bekijk vacature »

Senior Java Developer vacature

Jij volgt ontwikkelingen op de voet. Sterker nog: jij bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Zo kun jij een bijdrage leveren aan de Rabobank-app, de beveiliging van treinen voor Pro-rail verbeteren of de website van ING een boost geven. Vergaderen? Liever gewoon zorgen dat het werkt! Hoe omschrijft men een Sogetist? Gedreven, resultaatgericht en niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons betreft net zo goed bij werken. Maar we gaan op de eerste plaats voor de

Bekijk vacature »

Senior Java Developer vacature

Jij volgt ontwikkelingen op de voet. Sterker nog: jij bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Zo kun jij een bijdrage leveren aan de Rabobank-app, de beveiliging van treinen voor Pro-rail verbeteren of de website van ING een boost geven. Vergaderen? Liever gewoon zorgen dat het werkt! Hoe omschrijft men een Sogetist? Gedreven, resultaatgericht en niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons betreft net zo goed bij werken. Maar we gaan op de eerste plaats voor de

Bekijk vacature »

C# developer gezocht, hardware component, inhouse,

Ben je een C# developer en zoek je een baan in Rotterdam waar je systemen ontwikkeld die communiceren met hardware? Bij een klein bedrijf met korte lijnen, een open cultuur en veel vrijheid? Wellicht dat dit dan iets voor je is. Voor een klant in Rotterdam zijn we op zoek naar een ervaren C# developer. Het gaat hier om een bedrijf dat gericht is om voor overheden en ondernemingen informatie vanuit bepaalde meetsystemen te verwerken en te presenteren. Zo is bijvoorbeeld een van de projecten waar je als ontwikkelaar aan gaat werken; het bouwen van een website waar gebruikers informatie

Bekijk vacature »

C# Developer

De uitgebreide versie Jij hebt ruim twee jaar ervaring als developer. Nu wil je graag je tanden zetten in nog complexere projecten. Samen met je team bereik je nieuwe hoogtes en zelfstandig maak je meters. Je hebt behoefte aan collegae die jou alles leren op het gebied van technologie maar wilt tegelijkertijd ook graag je eigen opgedane kennis delen. Alles wat vandaag nog onbekend is, moet je morgen toepassen in de volgende uitdaging en dàt is wat jou scherp houdt. Je hebt geen zin in een 60-urige werkweek maar haalt wel plezier uit zo nu en dan een technische meeting,

Bekijk vacature »

Oracle Ontwikkelaar in de logistieke sector

Functieomschrijving Om het huidige team verder te versteken gezien de toename aan mooie opdrachten ben ik voor hen opzoek naar een Oracle Programmeur die graag in de logistieke sector aan de slag gaat. Heb je reeds ervaring binnen de logistieke sector, dan is dit helemaal mooi meegenomen. Je zal hierin verantwoordelijk zijn voor de ontwikkeling van nieuwe producten, ben je betrokken bij interfaces en programmeer je binnen PL/SQL en APEX. APEX kennis is dus een dikke pré! Daarnaast wordt er ondersteuning verleend aan de Support Engineers en ondersteun je hen bij innovatieve oplossingen voor klantvragen. Het is een functie waarbij

Bekijk vacature »

Fullstack developer Hubspot

Platform Urban-Innovators In de snel groeiende platform economie is Urban-Innovators het platform waar je terecht kunt voor onder andere het laatste nieuws, thema’s, events en projecten binnen de bouw & infra. Naast relevante content op het vakgebied vind je hier tevens de interessante en leukste vacatures en informatie rondom opleidingen en trainingen. Het platform heeft een gedegen inhoudt en is frivool van opzet; zeer nuttig om aangehaakt te blijven en leuk om naar terug te keren! Naar wie zijn we op zoek? Je bent een ondernemende Full Stack Developer, je bent flexibel, leert snel en hebt oog voor detail. Als

Bekijk vacature »

Java Developer / GUI / Levensreddend

Functieomschrijving Ben jij als Java Developer een starter, junior of medior op de arbeidsmarkt en wil je aan de slag voor een productontwikkelaar met een positieve maatschappelijke impact in de regio van Utrecht? Werk je graag voor een echte soft- en hardwareclub en zie jij het als een uitdaging om aan (mogelijk) levensreddende producten te werken? Lees dan snel verder! Het ontwikkelen van GUI's in Java voor embedded devices en client applicaties; Het vernieuwen en aanpassen van GUI's en zorgen voor een goede integratie met nieuwe producten; Het ontwikkelen van software dat moet voldoen aan hoge kwaliteitseisen; Je participeert als

Bekijk vacature »

Front-end Developer React Vue DevOps

Functieomschrijving Ben jij een Front-end Developer met minimaal drie jaar ervaring, en hebben Frameworks als Vue of React geen geheimen voor jou? Wil jij graag binnen een Devops team aan de slag gaat met het ontwikkelen van een gelikte front-end? Wil jij je graag richten op het ontwikkelen van diverse platformen en portalen die door duizenden mensen gebruikt worden? Lees dan nu verder! Het ontwikkelen van de front-end van webapplicaties middels o.a. Javascript, HTML, CSS en gave frameworks zoals React, Vue etc.; Het leveren van jouw bijdrage aan de vertaalslag van functionele wensen naar de technische oplossing; Het (conceptueel) meedenken

Bekijk vacature »

Junioren/Medioren/Senioren Backend PHP developers

Functieomschrijving In de functie van Backend PHP developer werk je veel met Symfony en Drupal. In een team van developers werk je samen aan applicaties, websites en apps om samen een fantastisch eindproduct af te leveren. Kwaliteit staat hier voorop dus met een klant die tevreden is zijn ze niet tevreden. De klant moet de wow-factor ervaren en het gevoel hebben dat hier ware kunst is afgeleverd. Een meesterwerk waar de meeste bureaus nog wat van kunnen leren. De projecten variëren van 2 weken tot een half jaar dus dat maakt elke project verschillend in vele opzichten. Heb jij kennis

Bekijk vacature »

Pagina: 1 2 volgende »

Paul Ulje

Paul Ulje

18/09/2016 19:44:07
Quote Anchor link
W3Schools zegt:
If we perform an INSERT or UPDATE on a table with an AUTO_INCREMENT field, we can get the ID of the last inserted/updated record immediately: $last_id = $conn->insert_id;

Mijn testcode wordt dan :
$db = openDB(); // OO-functie de db-connectie afhandelt, werkt foutloos
if ($pid === 9999) $p = $db->query($qInsert); // zonder pid
else $p = $db->query($qUpdate); // met de optie WHERE pid='$pid'

$pid = $db->insert_id; // ZOU in allebei de gevallen de laatste AI-waarde moeten geven ?

$db->close();
print $pid; // geeft 0 dus waarschijnlijk NULL

Heeft iemand enig idee wat ik fout doe?
 
PHP hulp

PHP hulp

09/04/2020 12:15:22
 
- SanThe -

- SanThe -

18/09/2016 19:54:58
Quote Anchor link
Laat de daadwerkelijke code eens zien.
 
Paul Ulje

Paul Ulje

18/09/2016 20:02:15
Quote Anchor link
/ SCHERMGEGEVSNS OPSLAAN in DB -----------------------------------------------
if (isset($_POST['opslaan'])) {
$id = $_SESSION['id'];
$aanspreek = $_POST['aanspreek'];
$voornaam = ucfirst($_POST['voornaam']);
$voorletters = strtoupper($_POST['voorletters']);
$tussenvoeg = strtolower($_POST['tussenvoeg']);
$achternaam = ucfirst($_POST['achternaam']);
$straat = ucwords($_POST['straat']);
$postcode = strtoupper($_POST['postcode']);
$plaats = strtoupper($_POST['plaats']);
$telefoon = $_POST['telefoon'];
$mobiel = $_POST['mobiel'];
$email = $_POST['email'];
$gebdat = $_POST['gebdat'];
$categorie = ucfirst($_POST['categorie']);
$opmerking = $_POST['opmerking'];
$qInsert = " insert into naw
( aanspreek, voornaam, voorletters, tussenvoeg,
achternaam, straat, postcode, plaats, telefoon, mobiel,
email, gebdat, categorie, opmerking ) values
( '$aanspreek', '$voornaam', '$voorletters',
'$tussenvoeg', '$achternaam', '$straat', '$postcode',
'$plaats', '$telefoon', $mobiel', '$email', '$gebdat',
'$categorie', '$opmerking' ) ";
$qUpdate = " update naw set
aanspreek='$aanspreek', voornaam='$voornaam', voorletters='$voorletters',
tussenvoeg='$tussenvoeg', achternaam='$achternaam', straat='$straat',
postcode='$postcode', plaats='$plaats', telefoon='$telefoon',
mobiel='$mobiel', email='$email', gebdat='$gebdat',
categorie='$categorie', opmerking='$opmerking'
where id='$id' ";
$db = openDB();
if ($id === 9999)
$p = $db->query($qInsert);
else
$p = $db->query($qUpdate);
$id = $db->insert_id;
$db->close();
print $id;
}
 
- SanThe -

- SanThe -

18/09/2016 20:09:38
Quote Anchor link
Doe eens een echo $_SESSION['id'];
 
Paul Ulje

Paul Ulje

18/09/2016 20:15:52
Quote Anchor link
01037
print $id = 0
print $_SESSION['id'] = 1037 (bestaand record)
Het bestaande record wordt ook netjes gewijzigd.
Dus MySQLI lijkt verder foutloos verlopen.

09999
print $id = 0
print $_SESSION['id'] = 9999 (aanduiding voor nieuw record dat nog een AI moet krijgen)
Gewijzigd op 18/09/2016 20:18:04 door Paul Ulje
 
- SanThe -

- SanThe -

18/09/2016 20:26:45
Quote Anchor link
Maak van die print $id eens dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
print ($id === NULL) ? 'NULL' : 'Gewoon nul';
?>


Quote:
The mysqli_insert_id() function returns the ID generated by a query on a table with a column having the AUTO_INCREMENT attribute. If the last query wasn't an INSERT or UPDATE statement or if the modified table does not have a column with the AUTO_INCREMENT attribute, this function will return zero.
 
Paul Ulje

Paul Ulje

18/09/2016 20:43:03
Quote Anchor link
01073Gewoon nul
01069Gewoon nul
09999Gewoon nul

De kolom id heeft wel degelijk een A_I status en is primaire sleutel.
Zou het helpen om bij het opslaan wél de id dan wel een explicite NULL mee te geven?
Update: nee, dat maakt niets uit.

Overigens is deze code, op het insert_id en OO verandering na, al meer dan 15 jaar tot volle tevredenheid in gebruik. De reden om insert_id toe te voegen is om de gelegenheid te hebben onvolledige records in te voegen. Voorheen zocht ik de laaste gewoon opnieuw op met SELECT op 'voornaam' 'achternaam' en 'plaats'.
Gewijzigd op 18/09/2016 20:47:01 door Paul Ulje
 
- SanThe -

- SanThe -

18/09/2016 20:48:37
Quote Anchor link
Ik zou het zo even niet weten.
Zeker de INSERT zou het insert_id moeten teruggeven.
 
Paul Ulje

Paul Ulje

18/09/2016 21:13:48
Quote Anchor link
Dank voor je inspanning.
Normaliter zoek ik al gauw een omweg als ik een probleem niet snap.
Maar die zag ik nu even niet voor de hand liggen.

Wat ik me nu net bedenk is het volgende:

function getMaxAI() {
$db = openDB();
$p = $db->query(" select * from naw order by id desc ");
$row = $p->fetch_row(); // dat is het record met 9999
$row = $p->fetch_row();
$id=$row[0];
$db->close();
return $id;
}

En het werkt!
Nogmaals erg bedankt!
Gewijzigd op 18/09/2016 21:23:24 door Paul Ulje
 
Ben van Velzen

Ben van Velzen

18/09/2016 21:25:00
Quote Anchor link
Ehm nee, niet doen. Je kan er niet vanuit gaan dat je dan het juiste id krijgt. De enige correcte manier na een insert is insert_id gebruiken, en bij een update weet je deze al.
 
Pipo Clown

Pipo Clown

18/09/2016 23:15:09
Quote Anchor link
Probeer het eens zo :


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
$db = openDB(); // OO-functie de db-connectie afhandelt, werkt foutloos
if ($pid === 9999) {
   $p = $db->query($qInsert); // zonder pid
   $pid = $db->insert_id; // ZOU in allebei de gevallen de laatste AI-waarde moeten geven ?
}
else $p = $db->query($qUpdate); // met de optie WHERE pid='$pid'

$db->close();
print $pid; // geeft 0 dus waarschijnlijk NULL


Volgens mij werkt insert_id niet bij een update omdat daarbij de update al bestaat.
 
Ivo P

Ivo P

19/09/2016 00:22:18
Quote Anchor link
Je weet dat na 9998 inserts er een record gaat komen met id 9999?

Waarom dan niet $id = null
 
Willem vp

Willem vp

19/09/2016 00:49:28
Quote Anchor link
Ben van Velzen op 18/09/2016 21:25:00:
Ehm nee, niet doen. Je kan er niet vanuit gaan dat je dan het juiste id krijgt. De enige correcte manier na een insert is insert_id gebruiken, en bij een update weet je deze al.

Helemaal mee eens. Als het misgaat is dit bovendien een draak van een bug om op te sporen. Het kan misgaan als twee verschillende clients tegelijkertijd een record invoegen. In plaats van het id van het record dat je zelf invoegde, kun je dan het id van de andere client krijgen. Veel plezier met het uitzoeken waarom meneer Jansen ineens van Lelystad naar Delfzijl is verhuisd. ;-)

Wat je wel zou kunnen doen is een SELECT LAST_INSERT_ID(). Die geeft het id van het laatst ingevoegde id voor de betreffende db-connectie en heeft dus geen last van concurrent inserts.
 
Ward van der Put
Moderator

Ward van der Put

19/09/2016 02:24:56
Quote Anchor link
Paul Ulje op 18/09/2016 19:44:07:
if ($pid === 9999)

Paul Ulje op 18/09/2016 20:15:52:
09999

Paul Ulje op 18/09/2016 20:43:03:
09999Gewoon nul

09999 !== 9999
Gewijzigd op 19/09/2016 02:25:27 door Ward van der Put
 
Paul Ulje

Paul Ulje

19/09/2016 14:20:06
Quote Anchor link
Ik geloof dat ik met mijn slordige voorbeeld de discussie wat in de war heb gestuurd. Let niet op de 9999, die heeft er niks mee te maken, die was er alleen in de test. En 09999 bestaat uit twee print resultaten. Dus daar is geen vergelijk met de string 9999 van toepassing.

De functie getMaxID() is een OMWEG voor het FALENDE insert_id, de oorzaak van deze draad.

De door MySQL doorgenummerde A_I nummers komen in een veld genaamd ID.
- Wanneer een nieuw record wordt ingevoegd komt er dus een nieuw ID. Dát nummer wil ik weten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
function getMaxAI() {
$db = openDB();
$p = $db->query(" select * from naw order by id desc ");
$row = $p->fetch_row();
$id=$row[0];
$db->close();
return $id;
}

?>


En dat werkt naar volle tevredenheid.

Toevoeging op 19/09/2016 14:23:29:

Ivo P op 19/09/2016 00:22:18:
Je weet dat na 9998 inserts er een record gaat komen met id 9999?

Waarom dan niet $id = null



:-) Ja, dat is een restant uit de jaren 70-80 toen '9' en '99' e.d. standaard de 'afsluit' codes waren. Let wel, er waren nog geen knoppen, geen muis, alleen een toetsenbord. Ik zal het veranderen.... Bedankt!

Ward:
Graag voortaan bij code de [code][/code]-tags gebruiken.
Hier kun je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 19/09/2016 15:22:10 door Ward van der Put
 
Ward van der Put
Moderator

Ward van der Put

19/09/2016 15:25:10
Quote Anchor link
Het gaat fout zodra je dit met meer dan één client online doet:

1. Client A haalt de hoogste id op.
2. Client B voegt een record toe en verhoogt de id.
3. Client A werkt met een verouderde hoogste id.

Verder vraagt je query nu de gehele tabel op. Dit kun je beperken tot de id van de laatste record:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT id FROM naw ORDER BY id DESC LIMIT 1
Gewijzigd op 19/09/2016 15:26:58 door Ward van der Put
 
Ben van Velzen

Ben van Velzen

19/09/2016 16:07:09
Quote Anchor link
>> De functie getMaxID() is een OMWEG voor het FALENDE insert_id, de oorzaak van deze draad.
En dat terwijl de oorzaak gewoon ergens foutief gebruik is. Zoals gezegd: je gebruikt insert_id vlak na je INSERT query, bij UPDATE e.d. weet je het ID al, dus heb je dit niet nodig. Daarnaast zijn er *geen* omwegen voor insert_id, ja, hooguit binnen een transactie je complete table locken, inserten en *dan* opvragen. Maakt je applicatie wel retetraag uiteraard omdat je dan alle andere toegangen tot de table verbiedt. Kort gezegd: wat je doet werkt niet en kan ook niet werken.
 
Thomas van den Heuvel

Thomas van den Heuvel

20/09/2016 14:45:27
Quote Anchor link
TL;DR Het nummertjesapparaat van MySQL zelf werkt goed zat, bouw hier geen eigen apparaat voor.

getMaxID() lijkt mij niet de juiste weg. Jouw database heeft zelf oneindig veel betere functionaliteit om zelf te bepalen welk auto-increment id deze moet toewijzen aan een nieuw record.

En wat @Ward zegt: op het moment dat twee verschillende gebruikers "tegelijkertijd" iets met getMaxID() doen ben je nat. Tenzij je doet wat @Ben voorstelt: iets met transacties, maar dat is voortborduren op een verkeerde ontwerpbeslissing.
 
Paul Ulje

Paul Ulje

21/09/2016 15:08:59
Quote Anchor link
Helemaal met je eens Thomas.
Uiteraard maak ik graag gebruik van MySql A_I en dat werkt probleemloos.

Mijn programma is een eeuwenoud privé programma, waarschijnlijk heb ik het oorspronkelijk in dBase en vervolgens in Clipper gemaakt. Na de omzetting in PHP, vermoedelijk om PHP 'te proeven' jarenlang over het Web ongestoord gebruikt.

Nu wil ik alleen direct na het TOEgevoegen het 'id'-nummer dat automagisch is toegevoegd gebruiken (uitlezen, niet toevoegen). En dat lukt me niet met insert_id.

Dan maar eromheen.
Er is (bijna) altijd een omweg.
In dit geval eigenlijk heel eenvoudig.
(Vroeguh, toen er nog geen DB voor de voor-PC was, moesten we altijd zelf een 'nummertjesapparaat' bouwen).
Maar terecht gezegd: niet elegant.
En elegantie (Pascal!) is voor mij belangrijk. :-(
In de beginjaren van IBM/MSDos deed ik overigens weinig anders dan omwegen verzinnen voor de gebreken.

Een ieder hartelijk bedankt voor de goede raad en steun!
Ik voel me helemaal thuis in dit forum.
Nu snel een nieuw PHP probleem zoeken.... :-)
 
Willem vp

Willem vp

21/09/2016 15:51:01
Quote Anchor link
Paul Ulje op 21/09/2016 15:08:59:
Dan maar eromheen.
Er is (bijna) altijd een omweg.
In dit geval eigenlijk heel eenvoudig.

Inderdaad eenvoudig: SELECT LAST_INSERT_ID(). Maar absoluut niet "select * [...] order by id desc" want vroeg of laat ga je daarmee een keer de bietenbrug op. En het erge is dat je dat vaak nog niet eens merkt tot het te laat is om de boel te herstellen. Het enige wat je dan nog kan doen is je hele database weggooien en overnieuw beginnen.
Gewijzigd op 21/09/2016 15:51:23 door Willem vp
 
Ben van Velzen

Ben van Velzen

21/09/2016 18:13:40
Quote Anchor link
Er is bijna altijd een omweg, correct. Maar die omweg hangt wel af van je begrip van waar je mee werkt. Een oplossing zoals je probeerde duidt duidelijk op een onbegrip, gezien de race conditions die je daar altijd mee veroorzaakt. Je kunt dan de omweg van Willem beter gebruiken, of zoals eerder gezegd je code herzien zodat je alleen het id uit de database vraagt bij een insert.
 

Pagina: 1 2 volgende »



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.