Через разделитель не записывать, ибо в этом нет никакого смысла. Ты лишь усложняешь читаемость и работу с данными. Для MySQL ты лучше не делаешь. БД прекрасно работает и с таблицами, в которых несколько сотен столбцов.
Тебе нужно либо определиться с ограничением на максимальное число предупреждений, либо реализовывать всё так, чтоб все взаимодействия с варнами были напрямую через БД.
Касаемо кода, который ты дал: не совсем понятно зачем там цикл while. Ты просто, грубо говоря, 100 раз подряд будешь загружать одну и ту же информацию с текущим кодом.
@LoadWarnPlayerCallBack(playerid);
@LoadWarnPlayerCallBack(playerid)
{
new rows = cache_get_row_count(MysqlConnect);
if(rows == 0)
return 1;
for(new i = 0; i < rows; i++)
{
LoadWarn[playerid][wr_deleted][i] = cache_get_field_content_int(i,"w_deleted", MysqlConnect);
}
return 1;
}
Ну и да, лучше создать индекс для столбца с ником или ID аккаунта (в зависимости от того, как хранишь данные). Это увеличит размер таблицы, но ускорит выборку данных в твоём случае.