您的位置:首页 > 数据库 > MySQL

mysql协议学习(四)--ERR报文

2015-08-06 22:45 477 查看

Payload

TypeNameDescription
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 = 剩余的所有字节
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: