Query zu lang

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Sehr geehrte Community,
    momentan sitze ich an einem weiteren Problem was meine Query betrifft.
    Da es sehr viele Spalten sind, sind es auch natürlich sehr viele Dinge die gespeichert werden müssen, doch wenn ich das ganze jetzt in eine Zeile formatiere (Format) kommt der Fehler das die Zeile zu lang ist.
    Wie kann ich jetzt am besten das ganze trennen ohne mehrere Querys laufen zu lassen?


  • new query[700], query2[700], query3[700], query4[700];
    format(query2, sizeof(query2), "`handyInhaber`='%s',`handyNummer`='%d',`handyGuthaben`='%d',`handyStatus`='%d',`handySMSTon`='%d',`handyAnrufTon`='%d',`handyStumm`='%d',`OnlineBankingApp`='%d',`WerbeApp`='%d',`RadioApp`='%d',`WetterApp`='%d',`JobboerseApp`='%d',`GPSApp`='%d',`CallMeMuchFlat`='%d',`MessageMeMuchFlat`='%d',`AllroundFlat`='%d',`InternetFlat`='%d',",
    handyInfo[playerid][handyInhaber],handyInfo[playerid][handyNummer],handyInfo[playerid][handyGuthaben],handyInfo[playerid][handyStatus],handyInfo[playerid][handySMSTon],handyInfo[playerid][handyAnrufTon],handyInfo[playerid][handyStumm],handyInfo[playerid][OnlineBankingApp],handyInfo[playerid][WerbeApp],handyInfo[playerid][RadioApp],handyInfo[playerid][WetterApp],handyInfo[playerid][JobboerseApp],handyInfo[playerid][GPSApp],
    handyInfo[playerid][CallMeMuchFlat],handyInfo[playerid][MessageMeMuchFlat],handyInfo[playerid][AllroundFlat],handyInfo[playerid][InternetFlat]);
    format(query3, sizeof(query3), "`Kontakt1`='%d',`Kontakt2`='%d',`Kontakt3`='%d',`Kontakt4`='%d',`Kontakt5`='%d',`Kontakt6`='%d',`Kontakt7`='%d',`Kontakt8`='%d',`Kontakt9`='%d',`Kontakt10`='%d',`Kontakt11`='%d',`Kontakt12`='%d',`Kontakt13`='%d',`Kontakt14`='%d',`Kontakt15`='%d',`Kontakt16`='%d',`Kontakt17`='%d',`Kontakt18`='%d',`Kontakt19`='%d',`Kontakt20`='%d',",
    handyInfo[playerid][Kontakt1],handyInfo[playerid][Kontakt2],handyInfo[playerid][Kontakt3],handyInfo[playerid][Kontakt4],handyInfo[playerid][Kontakt5],handyInfo[playerid][Kontakt6],handyInfo[playerid][Kontakt7],handyInfo[playerid][Kontakt8],handyInfo[playerid][Kontakt9],handyInfo[playerid][Kontakt10],handyInfo[playerid][Kontakt11],handyInfo[playerid][Kontakt12],handyInfo[playerid][Kontakt13],
    handyInfo[playerid][Kontakt14],handyInfo[playerid][Kontakt15],handyInfo[playerid][Kontakt16],handyInfo[playerid][Kontakt17],handyInfo[playerid][Kontakt18],handyInfo[playerid][Kontakt19],handyInfo[playerid][Kontakt20]);
    format(query4, sizeof(query4), "`KontaktName1`='%s',`KontaktName2`='%s',`KontaktName3`='%s',`KontaktName4`='%s',`KontaktName5`='%s',`KontaktName6`='%s',`KontaktName7`='%s',`KontaktName8`='%s',`KontaktName9`='%s',`KontaktName10`='%s',`KontaktName11`='%s',`KontaktName12`='%s',`KontaktName13`='%s',`KontaktName14`='%s',",handyInfo[playerid][KontaktName1],handyInfo[playerid][KontaktName2],handyInfo[playerid][KontaktName3],
    handyInfo[playerid][KontaktName4],handyInfo[playerid][KontaktName5],handyInfo[playerid][KontaktName6],handyInfo[playerid][KontaktName7],handyInfo[playerid][KontaktName8],handyInfo[playerid][KontaktName9],handyInfo[playerid][KontaktName10],handyInfo[playerid][KontaktName11],handyInfo[playerid][KontaktName12],handyInfo[playerid][KontaktName13],handyInfo[playerid][KontaktName14],handyInfo[playerid][KontaktName15],
    handyInfo[playerid][KontaktName16],handyInfo[playerid][KontaktName17],handyInfo[playerid][KontaktName18],handyInfo[playerid][KontaktName19],handyInfo[playerid][KontaktName20]);
    format(query, sizeof(query), "UPDATE `samp_handys` SET %s%s%s WHERE `handyInhaber`='%s'", query2, query3, query4, getName(playerid));
    mysql_query(query);
    return 1;

    So ist es momentan und das ist nicht wirklich schön.
    Wie geht das dann mit strcat, da es ja mehrere Teile sind.


  • Das wusste ich bereits, da ich aber Variablen drin habe ist das was anderes.

  • Nur um es dir als Beispiel zu machen:



    new str[1024];
    format(str,sizeof(str),"UPDATE `samp_handys` SET`handyInhaber`='%s'",/*deine Variable*/);
    strcat(str,"`handyNummer`='%d'",/*neue variable*/);
    mysql_query(str);
    //usw


    Sorry das es str ist nutze dies immer, da ich es einmal Global mit einer länge von 2000 erstelle bei mir. :P