Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[SQL] row met kleinste ID veranderen

marientje
4 antwoorden
  • Ik wil van een tabel de rij veranderen waarvan de id het laagst is.

    UPDATE table SET status = 1 WHERE id <= ALL (SELECT id FROM table)
    en
    UPDATE table SET status = 1 WHERE id = (SELECT MIN(id) FROM table)

    werken geen van beiden:
    You can't specify target table 'table' for update in FROM clause

    Hoe kan dit dan wel? Of moet ik met 2 aparte queries gaan werken?
  • Met welke database werk je?
    Bijvoorbeeld in SQL Server is de UPDATE … FROM syntax mogelijk.
    [code:1:e772535fb7]
    UPDATE boek
    SET prijs = k.aktieprijs
    FROM aktieprijzen k, boek b
    WHERE k.aktiecode = 'foo'
    AND b.id = 1
    [/code:1:e772535fb7]
  • Het gaat om een MySQLserver, en daar kan dit volgens mij niet
  • Werkend met MySQL 4.1.7, maar gezien de code verwacht ik ook wel dat 't in oudere versies werkt

    [code:1:f7097fbc3a]update table
    set status = 1
    order by id asc
    limit 1[/code:1:f7097fbc3a]

    vergeet vooral die "order by …" niet.

    Edit: die limit 1 ook niet ;)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.