Ich habe eine Tabelle, die wie folgt aussieht (Auszug):
ID Sold
123 false
124 false
125 false
126 true
127 true
...
Ich möchte nun mit einem UPDATE-Befehl nur eines der Felder die auf „false“ stehen auf „true“ setzten. Mir ist egal welches, ich kenne die ID nicht mal … einfach das erste „freie“ …
ID Sold
123 false
124 false
125 false
126 true
127 true
…
Ich möchte nun mit einem UPDATE-Befehl nur eines der Felder
die auf „false“ stehen auf „true“ setzten. Mir ist egal
welches, ich kenne die ID nicht mal … einfach das erste
„freie“ …
eine möglichkeit wäre:
update [tabellenname] set sold=true where id=(select min(id) from [tabellenname] where sold=false order by id asc)
es müsste eigentlich auch ohne die ‚ORDER‘-Clause gehen.
Ich wollte damit nur sichergehen das die ‚erste‘ freie
Zeile genutzt wird. Dies wird aber schon durch die MIN() Bedingung erfüllt.
Versuche sie mal wegzulassen.
also:
update [tabellenname] set sold=true where id=(select min(id) from [tabellenname] where sold=false)