Поскольку ошибки mysql сильно зависят от используемой вами версии сервера, я создал небольшой скрипт Bash, который вы можете запустить на своем сервере, чтобы сгенерировать класс PHP, содержащий все коды ошибок.
#!/bin/bash
if [ ! -n "$1" ]
then
echo "usage: $0 <path to errormsg.txt>";
exit 1;
fi
echo "class MysqlErrorConst {";
CURRENT_ERROR_CODE=`head $1 | grep "start-error-number" | sed 's/start-error-number //' | tr -d "\n"`
for CURRENT_ERROR_NAME in `grep "^[A-Z_]\+" $1 | sed 's/\(^[^ ]*\) .*/\1/g'`
do
echo -e "\t const $CURRENT_ERROR_NAME = $CURRENT_ERROR_CODE;\n";
((CURRENT_ERROR_CODE++));
done
echo "}";
Сохраните этот скрипт и запустите его, передав местоположение вашего сервера errmsg[-utf8].txt
. Это сгенерирует что-то вроде:
class MysqlErrorConst {
const ER_HASHCHK = 1000;
const ER_NISAMCHK = 1001;
const ER_NO = 1002;
const ER_YES = 1003;
const ER_CANT_CREATE_FILE = 1004;
[...]