[PHP/MySQL] Update query - CASE op veldnaam

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • radem205
  • Registratie: Juni 2002
  • Laatst online: 02-02-2022
Hey,

Onderstaande code wil ik gaan gebruiken om een update uit te voeren op de tabel "priveberichten", waarbij een item op "ongelezen" gezet moet worden, echter werkt deze vorm van CASE niet.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$sql = $db->prepare("
    UPDATE
        priveberichten
    SET
        (CASE WHEN lid_van = :lidid THEN gelezen_van ELSE gelezen_naar END) = 0
    WHERE
        id = :pmid
    AND
        (
            lid_van = :lidid
        OR
            lid_naar = :lidid
        ) 
");


Is het überhaupt niet mogelijk om een CASE los te laten op een veldnaam? Want een case op een waarde is wel mogelijk. Weet iemand een (andere) werkende oplossing?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
SQL:
1
2
3
4
UPDATE table
SET fieldx = case when full_moon then x else fieldx end,
    fieldy = case when not full_moon then x else fieldy end
WHERE...

[ Voor 39% gewijzigd door RobIII op 04-03-2010 17:38 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij