Hallo Breadfish-Community,
ich würde gerne Daten speichern, das Problem ist nur ich möchte in einer MySQL Statementabfrage einbauen das er prüft ob der Spieler und der Grund bereits vorhanden ist.
Sollte ein Enum erstellt werden falls dies nicht gehen sollte habe ich auch schon versucht bekomme aber ständig eine Fehlermeldung die ich mir nicht erklären kann was falsch sei.
Zunächst erstmal was ich als 1. Versucht habe:
new query1[900];
format(query1, sizeof(query1), "INSERT INTO log SET Spielername='%s', Grund = 'Test' WHERE Spielername != '%s'", SpielerName(playerid);
print(query1);
mysql_function_query(dbhandle, query1, false, "", "");
Wenn ich das "WHERE Spielername != '%s'" weglasse wird das wunderbar gespeichert aber der es werden für den Spieler immer neue Zeilen angelegt.
Gestern hatte ich im Allgemeinen Scripting Frage gefragt ob dies möglich sei, @Jeffry postete diese Seite http://dev.mysql.com/doc/refma…/insert-on-duplicate.html.
Ich verstehe nur nicht wie ich "ON DUPLICATE KEY UPDATE" einfüge, denn dieses Update am ende verwirrt mich ein wenig obwohl ich nichts Updaten haben möchte....
Meine andere Variante war, da ich die Daten später ebenfalls auflisten lassen möchte und dafür ein Enum brauche so aufzubauen:
Und so:
for(new l = 0; l < sizeof(LogInfo); l++)
{
new str1[20];
format(str1, sizeof(str1), "Test");
if(LogInfo[l][l_akte_name] == SpielerName(playerid) && LogInfo[l][l_akte_grund] == str1) return 1;
else
{
new query1[900];
format(query1, sizeof(query1), "INSERT INTO log SET Spielername='%s', Grund = 'Test'", SpielerName(playerid));
print(query1);
mysql_function_query(dbhandle, query1, false, "", "");
}
}
Alles anzeigen
( Hier bekomme ich eine Fehlermeldung das angeblich "SpielerName" und "str1" nicht gefunden werden konnte... )
Da ich soweit nicht großartig mit den MySQL Statements gearbeitet habe außer "SELECT/UPDATE/INSERT" komme ich hier nicht weiter...
Kann mir einer weiterhelfen? ( @Jeffry ? )