Update tabel uit berekening

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

C++ Ontwikkelaar

Functieomschrijving Ben jij toe aan een nieuwe uitdaging en werk je graag en goed in C++ en C#? Dan zijn we op zoek naar jou! Dit bedrijf is dé specialist op het gebied van automatiseringssoftware voor een specifieke branche en ze zijn per direct op zoek naar versterking in hun development team. Wat jij gaat doen binnen jouw rol als C++ ontwikkelaar; Je vertaalt de wensen van gebruikers naar een functioneel ontwerp. Je houdt je bezig met het ontwerpen, programmeren en testen van product aanpassingen. Je gaat nieuwe product releases implementeren in de projectteams. Je gaat de effecten van nieuwe

Bekijk vacature »

Full Stack Software Developer C#.NET

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Testen en valideren van de ontwikkelde software. Actief deelnemen aan code reviews en bijdragen aan het verbeteren van de kwaliteit van de software. Je gaat aan

Bekijk vacature »

Integratie expert - Java Developer

Dit ga je doen Nieuw koppelingen ontwerpen, ontwikkelen en implementeren; Je schakelt met de klanten om hen zo goed mogelijk van dienst te zijn. Strategisch kijken naar nieuwe mogelijkheden op bestaande of nieuwe koppelingen zo effectief mogelijk te realiseren; Je bestaande toolset afwegen tegen nieuwe mogelijkheden om integratiedoelen steeds effectiever en/of effcienter te bewerkstelligen; Bestaande software koppelingen beheren, dit zijn koppelingen met zowel interne als externe systemen; Overleg met zowel directe collega's als met stakeholders om nieuwe integratieplannen concreet te maken; Je kunt de junioren meenemen op sleeptouw. Hier ga je werken Onze klant is op zoek naar een ervaren

Bekijk vacature »

PHP developer

Functie Voor een opdrachtgever in omgeving Leiden zijn wij op zoek naar een PHP developer die affiniteit heeft met C++. Ben jij reeds afgestudeerd of heb je al een paar jaar ervaring? Lees snel verder en kijk of dit iets voor jou is! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van

Bekijk vacature »

Medior/Senior Python developer (Django)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en werken ze met pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Er is een kwaliteitsfocus en dan biedt ruimte om verbeteringen echt door te voeren binnen de gehele

Bekijk vacature »

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 »

PHP/Symfony developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Bergen op Zoom ben je als PHP/Symfony Developer niet alleen bezig met software ontwikkeling. Je bent buiten ontwikkeling ook continu bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Techstack: PHP, Symfony & mySQL. Jouw takenpakket ziet er als volgt uit: Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Alblasserdam zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back

Bekijk vacature »

PHP Back-end Developer

Vacature details Vakgebied: Software/IT Opleiding: Starter Werklocatie: Nijmegen Vacature ID: 13633 Introductie OUr client develop websites, webshops, and digital environments that are used by many visitors daily. They are seeking an experienced PHP-Developer Back-end to join the team. If you're looking for a position where you can tackle challenging, innovative, and multidisciplinary ICT projects and make a difference, this vacancy might be for you! Functieomschrijving As a PHP developer, you'll develop websites and digital environments used by many visitors daily. You'll work as a back-end developer and want to continuously develop in this field. You can work independently and efficiently,

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Front-end developer - working on software for arou

Functie They have recently started looking for an experienced Front-end (mobile/app) developer. Because of the short lines within the team, they are also looking for someone who can communicate with the service desk, sales and support for technical questions. You will join their IT team consisting of about 10 colleagues divided over two teams in rooms opposite each other. Half of these are involved in their front-end. You will work together with, among others, the Architect, 1 senior, 1 junior and there is a Team Leader. In terms of technology, they work with a unique tech-stack, particularly because of the

Bekijk vacature »

Junior/medior Back end developer PHP, Laravel

Functie Jij als ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor veel van je tijd je bezig houden met het ontwikkelen van maatwerk features en applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. Jij als full stack developer zult dus

Bekijk vacature »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »
Jan R

Jan R

30/04/2019 09:12:46
Quote Anchor link
Hoi,

Ik probeer een tabel bij te werken zonder succes.
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
update
    trn_spelers s1
        set s1.grafischevolgorde=
            (select
                FIND_IN_SET(if(s1.elo<>"",s1.elo,-s1.id), (
                SELECT GROUP_CONCAT(if(elo<>"",elo,-id)
                ORDER BY
                    if(elo<>"",elo,-id) DESC
                ) rang
                FROM trn_spelers
                where
                    id_toernooi=s1.id_toernooi)) r
            from
                trn_spelers s1
            left join
                trn_spelers s2
                on s1.id=s2.id
            where
                s1.id_toernooi=37)
where
    s1.id_toernooi=37

Ik krijg steeds de fout: #1093 - You can't specify target table 's1' for update in FROM clause.
Ook al met een join geprobeerd maar ik raak er niet uit wijs :(
s1.id_toernooi=37 word via PHP opgebouwd
velden
grafischevolgorde==>float
id==>int
id_toernooi==>int
elo varchar(5)
De if is om uniekere resultaten te hebben indien er geen elo opgegeven is.


Hoe kan ik dit oplossen?

Jan
 
PHP hulp

PHP hulp

02/06/2024 04:14:32
 
Thomas van den Heuvel

Thomas van den Heuvel

30/04/2019 16:05:47
Quote Anchor link
Bouw eenvoudigere queries en zet alles in een transactie? Aangenomen dat je een database engine hebt die dat ondersteunt (InnoDB).

Ook lijkt het alsof e.e.a. niet helemaal uitgenormaliseerd/gestructureerd is. Mogelijk kun je daar ook nog winst pakken, het ziet er nu naar uit dat data min of meer geëncodeerd staat opgeslagen in kolommen?
Gewijzigd op 30/04/2019 17:09:53 door Thomas van den Heuvel
 
Aad B

Aad B

01/05/2019 20:45:03
Quote Anchor link
Dit is het mutating table probleem: je kan tabel trn_spelers niet updaten en tegelijkertijd selecteren in de from clause uit deze trn_spelers. Dit weigert vrijwel elk RDBMS gewoon omdat de kans bestaat dat je iets update dat in de select geselecteerd is wat dan weer de selectie ongeldig kan maken.
De foutmelding is daarin heel duidelijk: You can't specify target table trn_spelers for update in FROM clause.
Ik heb voor de duidelijkheid s1 even veranderd in trn_spelers want dat is wat er bedoeld wordt.
Gewijzigd op 01/05/2019 20:57:13 door Aad B
 
Thomas van den Heuvel

Thomas van den Heuvel

01/05/2019 22:45:27
Quote Anchor link
En de enige manier om te garanderen dat de geSELECTeerde gegevens niet wijzigen (of liever gezegd, de enige manier om te garanderen dat jouw huidige batch queries de enige partij is die records kan wijzigen (write lock)) is SELECT ... FOR UPDATE binnen een transactie.
 
Jan R

Jan R

02/05/2019 06:58:17
Quote Anchor link
Thomas van den Heuvel op 30/04/2019 16:05:47:
Ook lijkt het alsof e.e.a. niet helemaal uitgenormaliseerd/gestructureerd is. Mogelijk kun je daar ook nog winst pakken, het ziet er nu naar uit dat data min of meer geëncodeerd staat opgeslagen in kolommen?


Waaruit leid je dit af?
De tabel bevat alle verplichte info van de spelers 14 kolommen en 1 kolom "opmerking". Voor 1 kolom maak ik geen extra tabel :)

@Aad B: Sommige sites schrijven een oplossing welke ik dus niet werkende kreeg.

Ik heb het probleem opgelost via javascript.
Beiden bedankt om mee te denken.
 
John D

John D

02/05/2019 10:29:49
Quote Anchor link
Thomas van den Heuvel op 01/05/2019 22:45:27:
En de enige manier om te garanderen dat de geSELECTeerde gegevens niet wijzigen (of liever gezegd, de enige manier om te garanderen dat jouw huidige batch queries de enige partij is die records kan wijzigen (write lock)) is SELECT ... FOR UPDATE binnen een transactie.

Ook dan lukt het je niet en krijg je de foutmelding: You can't specify target table for update in FROM clause. Je kan eenvoudig niet de target table ook nog eens in de FROM clause gebruiken. Ook niet in transacties. Elke SQL engine weigert dat. MySQL, Oracle, MicrosoftSQL, MariaDB maakt niet uit.
Onderstaand wordt wel een aardige oplossing geboden:http://logic.edchen.org/how-to-resolve-error-1093-hy000-you-cant-specify-target-table-xxxx-for-update-in-from-clause/
Maak een temporary table die aan het einde van de transactie automatisch wordt verwijderd.

enne "Ik heb het probleem opgelost via javascript." Hoe doe je dat? javascript draait in de browser, oplossen je data naar de client halen en dan verwerken?
Gewijzigd op 02/05/2019 11:10:39 door John D
 
Adoptive Solution

Adoptive Solution

02/05/2019 19:21:18
Quote Anchor link
Hier oplossingen die werken.

https://7php.com/mysql-update-select-statement-1093/

Solution 1 toegepast in mijn knopenwinkel middels een procedure :

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
CREATE PROCEDURE `Pennies`(IN `Rekening` smallint(12), IN `Pennies` bigint(12))
UPDATE
    account p1,
    (
        SELECT
            ( sp.amount_pennies + Pennies ) AS new_pennies
        FROM
            account sp
        WHERE
            acct_num = Rekening
    ) AS p2
SET
    p1.amount_pennies = p2.new_pennies
WHERE
    acct_num = Rekening;


Die kan je dan met een CALL oproepen met een + of - waarde :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
CALL `Pennies`('137', '-50');
Gewijzigd op 02/05/2019 19:22:16 door Adoptive Solution
 
Thomas van den Heuvel

Thomas van den Heuvel

02/05/2019 19:43:30
Quote Anchor link
@John D uiteraard in twee aparte queries. Eén met een SELECT ... FOR UPDATE, en dan een UPDATE query. Beide binnen een transactie.

@Adoptive, dat werkt misschien, maar vormt dat een ondeelbaar geheel? En mogelijk hangt het atomair zijn van een query af van de database engine. Misschien gaat het toch mis in een MyISAM opstelling waarbij die procedure heel vaak parallel wordt aangeroepen? Het zijn juist die randgevallen die je wilt vermijden.

Wat mij betreft is de enige manier om te garanderen dat informatie niet verandert gedurende een wijziging de gebruikmaking van een transactie.
 



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.