Скриптер
Участник
Пользователь
- Сообщения
- 673
- Реакции
- 242
- Помог
- 11 раз(а)
Добрый вечер
Возможно ли занести 2 и более значений в одну ячейку в строке в таблице
Правильно ли я делаю,
Я так полагаю, что нужно создать таблицу значением VARCHAR или можно обойтись INT?
При подключении нового игрока выставляю следующее значение:
я в голове примерное код занесение вынес, а именно
Как видите по коду в одной строке
Вроде визуально представляя, я сохраняю ячейку, допустим все ОК.
а вот как выгрузить обратно, ведь
или можно как то отсеивать это значение и разделить путем правил "решетки", стоит решетка значит делим значение.
Прошу предоставить пример, если есть возможность
Возможно ли занести 2 и более значений в одну ячейку в строке в таблице
Правильно ли я делаю,
Я так полагаю, что нужно создать таблицу значением VARCHAR или можно обойтись INT?
Код:
new query[QUERY_LENGTH * 2], que_len;
que_len += formatex(query[que_len],charsmax(query) - que_len, "\
CREATE TABLE IF NOT EXISTS %s \
( \
`id` int(11) NOT NULL AUTO_INCREMENT, \
`Auth` VARCHAR(32) NOT NULL default '',\
`setting_1` VARCHAR(32) NOT NULL, \
`setting_2` VARCHAR(32) NOT NULL \
`setting_3` VARCHAR(32) NOT NULL,\
PRIMARY KEY (`id`)\
)\
COLLATE='utf8_general_ci',\
ENGINE=InnoDB,\
AUTO_INCREMENT=3;"
);
new sData[EXT_DATA_STRUCT];
sData[EXT_DATA__SQL] = SQL_INITDB;
SQL_ThreadQuery(g_hDBHandle, "selectQueryHandler", query, sData, sizeof sData);
Код:
new query[QUERY_LENGTH * 2], que_len
que_len += formatex(query[que_len],charsmax(query) - que_len, "INSERT INTO %s (`Auth`,\
`setting_1`,\
`setting_2`,\
`setting_3`\
)\
VALUES\
('%s', \
'0#0', \
'0#0', \
'0#0')\
)", Auth)
new sData[1];
sData[0] = SQL_INGORE;
SQL_ThreadQuery(g_hDBHandle, "selectQueryHandler", query, sData, sizeof sData);
Код:
new query[QUERY_LENGTH * 2], que_len;
new query[QUERY_LENGTH * 2],que_len
que_len += formatex(query[que_len],charsmax(query) - que_len, "\
UPDATE `%s` SET \
`setting_1` = '%d#%d', \
`setting_2` = '%d#%d', \
`setting_3` = '%d#%d', \
WHERE `Auth` = '%s';"g_szRankTable,
g_iSaveTemp[pId, 0], g_iSaveTemp[pId, 1],
g_iSaveTemp[pId, 2], g_iSaveTemp[pId, 3],
g_iSaveTemp[pId, 4], g_iSaveTemp[pId, 5],
szAuth)
sData[EXT_DATA__SQL] = SQL_SAVE;
sData[EXT_DATA__INDEX] = id;
sData[EXT_DATA__USERID] = get_user_userid(id);
SQL_ThreadQuery(g_hDBHandle, "selectQueryHandler", query, sData, sizeof sData);
= '%d#%d'
два массива (это g_iSaveTemp[pId, 0] и g_iSaveTemp[pId, 1]
, что следовательно храню два значения в одной ячейке разделяя решеткой. Правильно ли я делаю?Вроде визуально представляя, я сохраняю ячейку, допустим все ОК.
а вот как выгрузить обратно, ведь
SQL_ReadResult( Handle:query, column, {Float,_}:... )
возвращает одно значение в одном столбцеили можно как то отсеивать это значение и разделить путем правил "решетки", стоит решетка значит делим значение.
Прошу предоставить пример, если есть возможность
Последнее редактирование модератором: