wurtzel Geschrieben 7. November 2007 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 7. November 2007 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
wurtzel Geschrieben 7. November 2007 Autor Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HJST1979 Geschrieben 7. November 2007 Teilen 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 ! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
wurtzel Geschrieben 7. November 2007 Autor Teilen Geschrieben 7. November 2007 Fehler gefunden es lag nicht an in() sondern an einem Group_concat in einer vorher verwendeten sql-anweisung Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
baba007 Geschrieben 7. November 2007 Teilen 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? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 7. November 2007 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
.vash Geschrieben 7. November 2007 Teilen Geschrieben 7. November 2007 rein Interessehalber: gibt es bei MSSQL eine Grenze? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.