sql >> Database >  >> RDS >> Mysql

mysql wat is de juiste syntaxis voor deze voorwaardelijke update-instructie?

Het moet op deze manier worden geschreven:

UPDATE tablename
SET fieldX = CASE WHEN fieldA = 'value1' THEN 'xxx' ELSE fieldX END,
    fieldY = CASE WHEN fieldA = 'value2' THEN 'yyy' ELSE fieldY END
WHERE fieldA IN ('value1', 'value2'); 

Let op: Ik schreef de ELSE deel op deze manier, omdat de standaard voor de ELSE is NULL als de voorwaarde van de CASE expressie is niet geldig, dus dit zal het instellen op de originele waarde en niet op de NULL waarde.




  1. Is er een Max-functie in SQL Server die twee waarden aanneemt, zoals Math.Max ​​in .NET?

  2. Hoe een externe MySQL-server die op Ubuntu linux draait opnieuw te starten?

  3. RAILS:Hoe te zoeken naar alle objecten waarvan elke associatie een attribuut heeft dat niet null is

  4. .NET 2.0 en MySql in medium trust-modus