Steusi
Nasenbär
Moin,
ich habe eben folgende Abfrage durchführen wollen, da jemand einen großen Fehler in der Datenbank verursacht hat:
Danach erhielt ich folgende Meldung
:
Da der Fehler schnell behoben werden musste, nahm ich die Select-Anweisung einzeln und packte das Resultat in ein SET:
Jedoch bekam ich nur 1 Ergebnis? Kann man FIND_IN_SET auf diese Art und Weise nicht missbrauchen?
Schließlich hat mich folgende Anweisung zum Erfolg geführt:
Wäre nett, wenn mir jemand erläutern könnte warum das 1. Query nicht möglich ist und warum FIND_IN_SET den Dienst in meinen Augen verweigert hat.
Danke
ich habe eben folgende Abfrage durchführen wollen, da jemand einen großen Fehler in der Datenbank verursacht hat:
SQL:
UPDATE `orders`
SET `orders`.`orders_status` =1
WHERE `orders_id` IN
(SELECT `orders_id`
FROM `orders_status_history`
WHERE `date_added` >= '2010-11-01 10:15:00')

MySQL server has gone away
Da der Fehler schnell behoben werden musste, nahm ich die Select-Anweisung einzeln und packte das Resultat in ein SET:
SQL:
UPDATE `orders`
SET `orders`.`orders_status` =1
WHERE FIND_IN_SET(`orders_id`,'28323,
28341,
28444,
...
28555,
28600') != 0
Jedoch bekam ich nur 1 Ergebnis? Kann man FIND_IN_SET auf diese Art und Weise nicht missbrauchen?
Schließlich hat mich folgende Anweisung zum Erfolg geführt:
SQL:
UPDATE `orders`
SET `orders`.`orders_status` =1
WHERE `orders_id` =28323
OR `orders_id` =28341
OR `orders_id` =28444
...
Wäre nett, wenn mir jemand erläutern könnte warum das 1. Query nicht möglich ist und warum FIND_IN_SET den Dienst in meinen Augen verweigert hat.
Danke
Zuletzt bearbeitet von einem Moderator: