wurtzel Geschrieben 7. November 2007 Geschrieben 7. November 2007 Hallo Gibt es eine Längenbegrenzung für die Liste Mit werten in der IN() Bedingung. Da bei einem UPDATE myTable SET SpalteX='wert' where id in(1,2,....,n) längere Angaben im IN Teil nicht Vollständig ausgeführt werden. Meine Vermutung ist, die Länge ist auf 1024 Zeichen begrenzt . Kann mir das jemand bestätigen? Gibt es möglichkeiten das zu umgehen? Mysql 5.0.32 Debian
Amstelchen Geschrieben 7. November 2007 Geschrieben 7. November 2007 Kann mir das jemand bestätigen? ist mir bis dato nichts bekannt; auch bei den MySQL-bugs hab ich diesbezüglich nichts gesehen. Gibt es möglichkeiten das zu umgehen? mach versuchsweise einen INNER JOIN statt eines SUBQUERY. s'Amstel
wurtzel Geschrieben 7. November 2007 Autor Geschrieben 7. November 2007 Inner joins und subquerys werden in diesem update statment nicht verwendet die Liste der werte wird im Programm generiert das einzige was machbar wäre für jeden wert das update einzeln ausführen was eine Längere Laufzeit des Programms zur folge hätte
HJST1979 Geschrieben 7. November 2007 Geschrieben 7. November 2007 Inner joins und subquerys werden in diesem update statment nicht verwendet die Liste der werte wird im Programm generiert das einzige was machbar wäre für jeden wert das update einzeln ausführen was eine Längere Laufzeit des Programms zur folge hätte Du baust in deinem Programm gewiss einen STRING zusammen den du dann als SQL-Befehl an deine Datenbank gibst !? Kann es sein, dass dieser STRING das Problem ist und nicht der SQL-Befehl !
wurtzel Geschrieben 7. November 2007 Autor Geschrieben 7. November 2007 Fehler gefunden es lag nicht an in() sondern an einem Group_concat in einer vorher verwendeten sql-anweisung
baba007 Geschrieben 7. November 2007 Geschrieben 7. November 2007 es gebit defitiv eine Beschränkung der in()-werte. Bei Oracle geht es nur bis 1000, bei 1001 schmeisst er ne fehlermeldung ... oder liegt es nur an meinem TOAD?
dr.dimitri Geschrieben 7. November 2007 Geschrieben 7. November 2007 Nein das ist eine natürliche Grenze von Oracle. Und wer mehr als 1000 OR Verknüpfungen in seinem SQL hat, sollte sich doch mal überlegen, das ganze mit temporären Tabellen zu erledigen. Dim
.vash Geschrieben 7. November 2007 Geschrieben 7. November 2007 rein Interessehalber: gibt es bei MSSQL eine Grenze?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden