CodeName47
Мажор
- Сообщения
- 154
- Реакции
- 30
void DeleteInactivePlayerData()
{
if(g_iGraceInactiveDays > 0)
{
char query[255];
int now = GetTime();
FormatEx(query, sizeof(query), "DELETE FROM %sweapons WHERE steamid in (SELECT steamid FROM %sweapons_timestamps WHERE last_seen < %d - (%d * 86400))", g_TablePrefix, g_TablePrefix, now, g_iGraceInactiveDays);
DataPack pack = new DataPack();
pack.WriteCell(now);
pack.WriteString(query);
db.Query(T_DeleteInactivePlayerDataCallback, query, pack);
}
}
public void T_DeleteInactivePlayerDataCallback(Database database, DBResultSet results, const char[] error, DataPack pack)
{
pack.Reset();
int now = pack.ReadCell();
if (results == null)
{
char buffer[1024];
pack.ReadString(buffer, 1024);
LogError("Delete Inactive Player Data failed! query: \"%s\" error: \"%s\"", buffer, error);
}
else
{
if(now > 0)
{
char query[255];
FormatEx(query, sizeof(query), "DELETE FROM %sweapons_timestamps WHERE last_seen < %d - (%d * 86400)", g_TablePrefix, now, g_iGraceInactiveDays);
DataPack newPack = new DataPack();
newPack.WriteCell(0);
newPack.WriteString(query);
db.Query(T_DeleteInactivePlayerDataCallback, query, newPack);
}
else
{
LogMessage("Inactive players' data has been deleted");
}
}
CloseHandle(pack);
}
{
if(g_iGraceInactiveDays > 0)
{
char query[255];
int now = GetTime();
FormatEx(query, sizeof(query), "DELETE FROM %sweapons WHERE steamid in (SELECT steamid FROM %sweapons_timestamps WHERE last_seen < %d - (%d * 86400))", g_TablePrefix, g_TablePrefix, now, g_iGraceInactiveDays);
DataPack pack = new DataPack();
pack.WriteCell(now);
pack.WriteString(query);
db.Query(T_DeleteInactivePlayerDataCallback, query, pack);
}
}
public void T_DeleteInactivePlayerDataCallback(Database database, DBResultSet results, const char[] error, DataPack pack)
{
pack.Reset();
int now = pack.ReadCell();
if (results == null)
{
char buffer[1024];
pack.ReadString(buffer, 1024);
LogError("Delete Inactive Player Data failed! query: \"%s\" error: \"%s\"", buffer, error);
}
else
{
if(now > 0)
{
char query[255];
FormatEx(query, sizeof(query), "DELETE FROM %sweapons_timestamps WHERE last_seen < %d - (%d * 86400)", g_TablePrefix, now, g_iGraceInactiveDays);
DataPack newPack = new DataPack();
newPack.WriteCell(0);
newPack.WriteString(query);
db.Query(T_DeleteInactivePlayerDataCallback, query, newPack);
}
else
{
LogMessage("Inactive players' data has been deleted");
}
}
CloseHandle(pack);
}
Подскажите, как правильно сформулировать этот запрос, что бы удалялись игроки из таблицы weapons по столбу awp где awp < 1 , через %d * 86400