Payload
Type | Name | Description |
---|---|---|
int<1> | header | [ff] header of the ERR packet |
int<2> | error_code | error-code |
if capabilities & CLIENT_PROTOCOL_41 { | ||
string[1] | sql_state_marker | # marker of the SQL State |
string[5] | sql_state | SQL State |
} | ||
string<EOF> | error_message | human readable error message |
当发送的命令出现错误的情况下,mysql server会返回ERR报文给mysql client
eg:
17 00 00 01ff48 042348 59 30 30 304e 6f 20 74 61 62 6c 65 73 20 75 73 65 64 | .....H.#HY000No tables used |
packet data len = 24(0x17 0x00 0x00)
packet sequence_id = 1 (0x01)
err packet 分析:
header = 0xff
error_code = (0x48 0x04)
sql_state_marker = 0x23 (应该是"#"这个字符串的byte值)
sql_state = (0x48 0x59 0x30 0x30 0x30)
error_message = 剩余的所有字节