Mapping from types used in SQL queries | |||
---|---|---|---|
MySQL type | Trinity type | Example code | Variable operators |
bigint(20) | int64 | int64 val = fields[n].GetInt64(); | |
unsigned bigint(20) | uint64 | uint64 val = fields[n].GetUInt64(); | |
int(11) | int32 | int32 val = fields[n].GetInt32(); | %u |
unsigned int(10) | uint32 | uint32 val = fields[n].GetUInt32(); | %u |
mediumint(8) | int32 | int32 val = fields[n].GetInt32(); | %u |
unsigned mediumint(8) | uint32 | uint32 val = fields[n].GetUInt32(); | %u |
smallint(6) | int16 | int16 val = fields[n].GetInt16(); | |
unsigned smallint(5) | uint16 | uint16 val = fields[n].GetUInt16(); | |
tinyint(4) | int8 | int16 val = fields[n].GetInt16(); | |
unsigned tinyint(3) | uint8 | uint8 val = fields[n].GetUInt8(); | |
float | float | float val = fields[n].GetFloat(); | |
unsigned float | |||
double | double | double val = fields[n].GetDouble(); | |
unsigned double | |||
text | string (std::string) or cstring (char const*) |
| %s |
longtext | %s | ||
tinytext | %s | ||
char(k) | %s | ||
varchar(k) | %s | ||
blob | %s | ||
COUNT(x) | uint64 | uint64 count = fields[n].GetUInt64(); | %UI64FMT* |
MAX(x) | uint32 or int32 |
| %u |
MIN(x) | %u | ||
SUM(x) | string (std::string) or cstring (char const*) |
| %s
%s |
UNIX_TIMESTAMP(x) | uint64 | uint64 unix_time = fields[n].GetUInt64(); |
|
1* %UI64FMT does not work with trinity_string
Bloque de código | ||||||
---|---|---|---|---|---|---|
| ||||||
// world database query 0 1 2 3 4 QueryResult result = WorldDatabase.Query("SELECT guid, entry, name, period, ScriptName FROM transports"); do { Field* fields = result->Fetch(); uint32 lowguid = fields[0].GetUInt32(); uint32 entry = fields[1].GetUInt32(); std::string name = fields[2].GetString(); uint32 period = fields[3].GetUInt32(); uint32 scriptId = sObjectMgr->GetScriptId(fields[4].GetCString()); // ... } while (result->NextRow()); |