Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.
Mapping from types used in SQL queries

MySQL type

Trinity typeExample codeVariable operators
bigint(20)int64int64 val = fields[n].GetInt64(); 
unsigned bigint(20)uint64uint64 val = fields[n].GetUInt64(); 
int(11)int32int32 val = fields[n].GetInt32();%u
unsigned int(10)uint32uint32 val = fields[n].GetUInt32();%u
mediumint(8)int32int32 val = fields[n].GetInt32();%u
unsigned mediumint(8)uint32uint32 val = fields[n].GetUInt32();%u
smallint(6)int16int16 val = fields[n].GetInt16(); 
unsigned smallint(5)uint16uint16 val = fields[n].GetUInt16(); 
tinyint(4)int8int16 val = fields[n].GetInt16(); 
unsigned tinyint(3)uint8uint8 val = fields[n].GetUInt8(); 
floatfloatfloat val = fields[n].GetFloat(); 
unsigned float 
doubledoubledouble val = fields[n].GetDouble(); 
unsigned double 
text

string (std::string)

or

cstring (char const*)

std::string text = fields[n].GetString();

char const* text = fields[n].GetCString();

%s
longtext%s
tinytext%s
char(k)%s
varchar(k)%s
blob%s
COUNT(x)uint64uint64 count = fields[n].GetUInt64();%UI64FMT*
MAX(x)uint32 or int32

uint32 minmax = fields[n].GetUInt32();

int32 minmax = fields[n].GetInt32();

%u
MIN(x)%u
SUM(x)

string (std::string)

or

cstring (char const*)

int sum;

if (const char* ch = fields[n].GetCString())

sum = atoi(ch);

%s

 

%s

UNIX_TIMESTAMP(x)uint64uint64 unix_time = fields[n].GetUInt64();

 

1* %UI64FMT does not work with trinity_string

 

 

Bloque de código
languagecpp
titleExample
linenumberstrue
// 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());