2012年5月16日星期三

fsockopen 异步处理

参与一项目,逻辑处理比较多,所以采用异步处理。

之前采用异步处理,Web 服务器是 Apache,而这次测试时也是,等把代码更新到服务器上时,执行不成功。折腾一番之后,才记起服务器上的 Web 服务器是 Nginx。试着从这个角度查找原因,找到如下这篇文章:

FROM: 有关fsockopen相关随笔

测试环境,从本机(Windows)访问内外一台 Linux 服务器(此服务器装的是 Nginx)。
index.php 代码:
[php]
<?php
echo 1;
?>
[/php]

1 使用HTTP 1.1 协议请求


[php]
function asyn_sendmail() {
$ip = '192.168.1.45';
$url = '/index.php';
$fp = fsockopen($ip, 80, $errno, $errstr, 5);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
}

$end = "\r\n";
$input = "GET $url HTTP/1.1$end";
//如果不加下面这一句,会返回一个 HTTP400 错误
//$input.="Host: $ip$end";
//如果不加下面这一句,请求会阻塞很久
//$input.="Connection: Close$end";
$input.="$end";
fputs($fp, $input);
$html = '';
while (!feof($fp)) {
$html.=fgets($fp);
}
fclose($fp);
writelog($html);
echo $html;
}

function writelog($message) {
$path = 'log.txt';
$handler = fopen($path, 'w+b');
if ($handler) {
$success = fwrite($handler, $message);
fclose($handler);
}
}
asyn_sendmail();
[/php]

如果注释了 $input.="Host: $ip$end"; 这一句,则会得到一个 404 错误,log.txt 内容如下:

HTTP/1.1 400 Bad Request
Server: nginx/0.8.46
Date: Fri, 30 Dec 2011 02:11:45 GMT
Content-Type: text/html
Content-Length: 173
Connection: close

<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
<hr><center>nginx/0.8.46</center>
</body>
</html>

说明:使用 HTTP 1.1 连接,则必须加上 Host请 求表头。
如果加上了没有注释 $input.="Host: $ip$end"; 这一句 ,则请求成功,log.txt 内容如下:

HTTP/1.1 200 OK
Server: nginx/0.8.46
Date: Fri, 30 Dec 2011 02:20:49 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.3.8

1
0
0

返回成功,但是不明白为什么服务器返回内容多了2个 0 (后来网上查询资料发现,这是因为服务器使用了 chunked 输出所致,用 Wireshark 抓包可清晰看到其细节)。如果不加 $input.="Connection: Close$end"; 这一句 ,则 HTTP 请求会阻塞很久(在这一句 fgets($fp) 阻塞)。

2 不指定 HTTP 版本


[php]
<?php
function asyn_sendmail() {
$ip = '192.168.1.45';
$url = '/servertimmer/inserttopicshow/13990/AA8AB76B-7280-578F-12F2-F423685FBD26';
$fp = fsockopen($ip, 80, $errno, $errstr, 5);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
}
$end = "\r\n";
$input = "GET $url$end";
$input.="$end";
fputs($fp, $input);
$html = '';
while (!feof($fp)) {
$html.=fgets($fp);
}
fclose($fp);
writelog($html);
echo $html;
}
function writelog($message) {
$path = 'log.txt';
$handler = fopen($path, 'w+b');
if ($handler) {
$success = fwrite($handler, $message);
fclose($handler);
}
}
asyn_sendmail();
?>
[/php]
请求立刻返回,没有阻塞,返回内容如下:

1

注意:返回内容中没有http标头,且没有被阻塞。

参考上面,代码中,发送到头部信息中正是少了第一段中提到的 $input.="Connection: Close$end";,添加上,问题解决。

总结:

  • HTTP 1.0, Apache Web 服务器中 $input.="Connection: Close$end";$input.="Connection: Close$end" 可都不需要。

  • HTTP 1.0, Nginx Web 服务器中 $input.="Connection: Close$end";$input.="Connection: Close$end" 都必需。

  • HTTP 1.1, Apache Web 服务器中 $input.="Connection: Close$end"; 必须要,$input.="Connection: Close$end" 可不用。

  • HTTP 1.1, Nginx Web 服务器中 $input.="Connection: Close$end";$input.="Connection: Close$end" 都必需。



fsockopen 上采用 POST 方法的代码:
[php]
$domain = "localhost";
$url = '/tool/async-test.php';
$param = "a=1&b=2&c=3&d=4";

$header = "POST $url HTTP/1.1\r\n";
$header .= "Host: $domain\r\n";
$header .= "Content-Type:application/x-www-form-urlencoded\r\n";
$header .= "Content-Length:" . strlen($param) . "\r\n\r\n";
$header .= "Connection: close\r\n";

$fp = @fsockopen($domain, 80, $errno, $errstr, 30);
fputs($fp, $header.$param);

$html = '';
while (!feof($fp)) {
$html.=fgets($fp);
}
echo $html;

fclose($fp);
[/php]

2012年5月7日星期一

NODE 发起 POST 请求

[js]
var http = require('http');
var querystring = require('querystring');

var postdata = querystring.stringify({
'name' : 'a',
'pwd' : '1'
});

var options = {
host: '172.10.7.228',
port: 1337,
path: '/login',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': postdata.length
}
};

var req = http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
});


req.on('error', function(e) {
console.log('problem with request: ' + e.message);
});

// write data to request body
req.write(postdata);
req.write('\n');
req.end();
[/js]
用 NODE JS 向 NODE 处理 POST 请求 发起 POST 请求。

NODE 处理 POST 请求

FROM: node.js 接收post请求
[js]
var http = require('http');
var server = http.createServer();
var querystring = require('querystring');
var firstPage = function(res) {
res.writeHead(200, {'Content-Type' : 'text/html'});
var html = '<html><body>' +
'<form action="/login" method="post">' +
'name:<input type="text" name="name" /><br />' +
'password:<input type="password" name="pwd" /><br />' +
'<input type="submit" value="login" />' +
'</form>' +
'</body></html>';
res.end(html);
}


var login = function(req, res) {
var info = '';
req.on('data', function(chunk) {
info += chunk;
});

req.on('end', function() {
info = querystring.parse(info);

console.log(info);
if(info.name == 'a' && info.pwd == '1') {
res.end('login success ' + info.name);
} else {
res.end('login failed ' + info.name);
}
});
};


var requestFunction = function(req, res) {
if (req.url == '/') {
return firstPage(res);
}

if (req.url == '/login') {
if (req.method != 'POST') {
return;
}
return login(req, res);
}
};

server.on('request', requestFunction);
server.listen(1337, '172.10.7.228');

console.log('server running at at http://172.10.7.228:1337');
[/js]

代码实现了一个登录验证用户。FORM 的 enctype 属性使用的是默认的 application/x-www-form-urlencoded,如果要上传文件的话则需要设置为 multipart/form-data

2012年5月3日星期四

ERROR 1337: Variable or condition declaration after cursor or handler declaration

FROM: Error 1337 VARIABLE OR CONDITION DECLARATION AFTER CURSOR OR HANDLER DECLARATION


[sql]
create database testdb;
use testdb;
CREATE TABLE test1 (
ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
a INTEGER UNSIGNED NULL,
PRIMARY KEY(ID)
);

CREATE TABLE test2 (
ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
a INTEGER UNSIGNED NULL,
PRIMARY KEY(ID)
);

Insert into test1 set a = 2;
Insert into test1 set a = 4;
Insert into test1 set a = 6;
Insert into test1 set a = 8;
Insert into test1 set a = 10;

delimiter $$
CREATE PROCEDURE testdb.curdemo()
BEGIN
Declare cur1 Cursor For select a from testdb.test1;
Declare temp INT;
declare done INT Default 0;
Declare continue handler for Sqlstate '02000' set done = 1;

open cur1;
Repeat
fetch cur1 into temp;
IF Not done then
Insert into test2 set a = temp;
End if;
Until done END Repeat;
close cur1;
End $$
delimiter ;
[/sql]

Now, if I would add the procedure, MySQL requests a error: Variable or condition declaration after cursor or handler declaration at line 22.

根据错误的提示信息,游标定义需在变量/条件后,HANDLER 前。
将定义存储过程的 SQL 修改为如下即可。
[sql]
delimiter $$
CREATE PROCEDURE testdb.curdemo()
BEGIN
Declare temp INT;
Declare done INT Default 0;

Declare cur1 Cursor For select a from testdb.test1;
Declare continue handler for Sqlstate '02000' set done = 1;

open cur1;
Repeat
fetch cur1 into temp;
IF Not done then
Insert into test2 set a = temp;
End if;
Until done END Repeat;
close cur1;
End $$
delimiter ;
[/sql]

ERROR 1170: BLOB/TEXT column 'XX' can't be used in key specification with the used table type

FROM: Better error message for Index on BLOB/TEXT columns

Description:
Consider the following:
[sql]
mysql> create table f2 (a int, b BLOB, KEY(b)) Engine = Falcon;
ERROR 1073 (42000): BLOB column 'b' can't be used in key specification with the used table type
mysql> create table f3 (a int, b TEXT, KEY(b)) Engine = Falcon;
ERROR 1073 (42000): BLOB column 'b' can't be used in key specification with the used table type
[/sql]
The latter message should say TEXT instead of BLOB.

Sveta Smirnova 后面有回复说提示错误的信息已经修改为: BLOB/TEXT column 'b' used in key specification without a key length.

[sql]
mysql> create table f2 (a int, b BLOB, KEY(b)) Engine = Falcon;
ERROR 1170 (42000): BLOB/TEXT column 'b' used in key specification without a key length
mysql> create table f3 (a int, b TEXT, KEY(b)) Engine = Falcon;
ERROR 1170 (42000): BLOB/TEXT column 'b' used in key specification without a key length
[/sql]
上述的测试结果表示确实如 Sveta Smirnov 所言。而且现在不管表使用哪种存储引擎,在为 BLOB/TEXT 类型的字段建立索引时,提示信息由以前的 ERROR 为 1073 的都统一为当前 ERROR 为 1170 的错误信息。

错误处理:
在建立 TEXT/BLOB 类型的字段的索引时,需要为其指定索引的长度。即:
[sql]

mysql> create table f2 (a int, b BLOB, KEY(b (32))) Engine = Falcon;
Query OK, 0 rows affected, 2 warnings (0.00 sec)

mysql> create table f3 (a int, b TEXT, KEY(b (64))) Engine = Falcon;
Query OK, 0 rows affected, 2 warnings (0.01 sec)
[/sql]

2012年5月2日星期三

ERROR 1063: Incorrect column specifier for column ‘XX’

FROM: PHP Server Side Scripting Forum

I am trying to create a database to calculate my wholesale costs & taxes on the fly, but when I created the database I frogot to make an 'id' column (I use phpMyAdmin to create the tables by hand).

All other fields were created successfully, but I keep gettign this blasted error:

Here's what I'm trying to do:

Field: id
Type: VARCHAR
Length/Values*: 250
Attributes: (empty)
Null: null
Default**: (empty)
Extra: auto_increment


SQL query:
[sql]
ALTER TABLE `wholesale` ADD `id` VARCHAR( 250 ) AUTO_INCREMENT FIRST
[/sql]

很明显,字段 id 指定的字段类型与其属性有冲突。字符型没有 AUTO_INCREMENT 的属性,而如果需要有该属性,则需将字段类型改为整形,具体条件可参看 Using AUTO_INCREMENT.

ERROR 1069: Too many keys specified. Max XX keys allowed

FROM: Limit on Number of Indexes on MySQL Table

YAMQ(yet another MySQL question) came up at work with past week. Some of our old data warehousing libraries work under the assumption that MySQL can only handle 16 indexes (built during the early 3.23.x days). So the question is how many indexes can a single table have these days?

This is similar to last week's question on how many joins MySQL can handle. I don't see much in the way of official documentation, but dug around the forums and found good information in this thread.

Creating an index requires creating a key, and there's a limit placed on the number of keys allowed for a table. Thus the limit on indexes is governed by the number of keys you are allowed to create. The error message when you've created one too many keys looks like:

ERROR 1069: Too many keys specified. Max XX keys allowed

And in the documentation:

Error: 1069 SQLSTATE: 42000 (ER_TOO_MANY_KEYS)
Message: Too many keys specified; max %d keys allowed

A quick run through a few machines/architectures I have access to gives a hint at the limit on various systems:

  • MySQL 3.23.58 on AMD Athlon XP - 32 key limit

  • MySQL 4.0.23 on Intel - 32 key limit

  • MySQL 4.0.23(64 bit) on Dual Opteron - 32 key limit

  • MySQL 4.1.20 on Intel - 64 key limit

  • MySQL 4.1.20(64 bit) on Dual Opteron - 64 key limit

  • MySQL 5.0.20 on Dual-Core Intel Mac - 64 key limit


From the forum post it appears that this limit is controlled by the MAX_KEY variable in the source code(sql/unireq.h). Changing the value requires a recompile of MySQL.

For anyone interested here's the SQL file that I ru through the MySQL client.
[bash]
# mysql -f < test_index_limit.sql
ERROR 1069 (42000) at line 75: Too many keys specified; max 64 keys allowed
...
[/bash]

The test script creates a test_index_limit database, create an index_limit table and attempt to put 70 indexes on that table. The script drop the database, so if you happen to have a test_index_limit database on your system please be careful.

目前,普通的服务器,根据其硬件及架构,基本上每个表最多支持 64 个 索引。

附:
[sql title="test index limit sql"]
create database test_index_limit;

use test_index_limit;

create table index_limit (customer_id_1 int, customer_id_2 int, customer_id_3 int, customer_id_4 int, customer_id_5 int, customer_id_6 int, customer_id_7 int, customer_id_8 int, customer_id_9 int, customer_id_10 int, customer_id_11 int, customer_id_12 int, customer_id_13 int, customer_id_14 int, customer_id_15 int, customer_id_16 int, customer_id_17 int, customer_id_18 int, customer_id_19 int, customer_id_20 int, customer_id_21 int, customer_id_22 int, customer_id_23 int, customer_id_24 int, customer_id_25 int, customer_id_26 int, customer_id_27 int, customer_id_28 int, customer_id_29 int, customer_id_30 int, customer_id_31 int, customer_id_32 int, customer_id_33 int, customer_id_34 int, customer_id_35 int, customer_id_36 int, customer_id_37 int, customer_id_38 int, customer_id_39 int, customer_id_40 int, customer_id_41 int, customer_id_42 int, customer_id_43 int, customer_id_44 int, customer_id_45 int, customer_id_46 int, customer_id_47 int, customer_id_48 int, customer_id_49 int, customer_id_50 int, customer_id_51 int, customer_id_52 int, customer_id_53 int, customer_id_54 int, customer_id_55 int, customer_id_56 int, customer_id_57 int, customer_id_58 int, customer_id_59 int, customer_id_60 int, customer_id_61 int, customer_id_62 int, customer_id_63 int, customer_id_64 int, customer_id_65 int, customer_id_66 int, customer_id_67 int, customer_id_68 int, customer_id_69 int, customer_id_70 int);

alter table index_limit add index (customer_id_1);
alter table index_limit add index (customer_id_2);
alter table index_limit add index (customer_id_3);
alter table index_limit add index (customer_id_4);
alter table index_limit add index (customer_id_5);
alter table index_limit add index (customer_id_6);
alter table index_limit add index (customer_id_7);
alter table index_limit add index (customer_id_8);
alter table index_limit add index (customer_id_9);
alter table index_limit add index (customer_id_10);
alter table index_limit add index (customer_id_11);
alter table index_limit add index (customer_id_12);
alter table index_limit add index (customer_id_13);
alter table index_limit add index (customer_id_14);
alter table index_limit add index (customer_id_15);
alter table index_limit add index (customer_id_16);
alter table index_limit add index (customer_id_17);
alter table index_limit add index (customer_id_18);
alter table index_limit add index (customer_id_19);
alter table index_limit add index (customer_id_20);
alter table index_limit add index (customer_id_21);
alter table index_limit add index (customer_id_22);
alter table index_limit add index (customer_id_23);
alter table index_limit add index (customer_id_24);
alter table index_limit add index (customer_id_25);
alter table index_limit add index (customer_id_26);
alter table index_limit add index (customer_id_27);
alter table index_limit add index (customer_id_28);
alter table index_limit add index (customer_id_29);
alter table index_limit add index (customer_id_30);
alter table index_limit add index (customer_id_31);
alter table index_limit add index (customer_id_32);
alter table index_limit add index (customer_id_33);
alter table index_limit add index (customer_id_34);
alter table index_limit add index (customer_id_35);
alter table index_limit add index (customer_id_36);
alter table index_limit add index (customer_id_37);
alter table index_limit add index (customer_id_38);
alter table index_limit add index (customer_id_39);
alter table index_limit add index (customer_id_40);
alter table index_limit add index (customer_id_41);
alter table index_limit add index (customer_id_42);
alter table index_limit add index (customer_id_43);
alter table index_limit add index (customer_id_44);
alter table index_limit add index (customer_id_45);
alter table index_limit add index (customer_id_46);
alter table index_limit add index (customer_id_47);
alter table index_limit add index (customer_id_48);
alter table index_limit add index (customer_id_49);
alter table index_limit add index (customer_id_50);
alter table index_limit add index (customer_id_51);
alter table index_limit add index (customer_id_52);
alter table index_limit add index (customer_id_53);
alter table index_limit add index (customer_id_54);
alter table index_limit add index (customer_id_55);
alter table index_limit add index (customer_id_56);
alter table index_limit add index (customer_id_57);
alter table index_limit add index (customer_id_58);
alter table index_limit add index (customer_id_59);
alter table index_limit add index (customer_id_60);
alter table index_limit add index (customer_id_61);
alter table index_limit add index (customer_id_62);
alter table index_limit add index (customer_id_63);
alter table index_limit add index (customer_id_64);
alter table index_limit add index (customer_id_65);
alter table index_limit add index (customer_id_66);
alter table index_limit add index (customer_id_67);
alter table index_limit add index (customer_id_68);
alter table index_limit add index (customer_id_69);
alter table index_limit add index (customer_id_70);

drop database test_index_limit;
[/sql]

MySQL Server error code 1301 –


































































































































































































ErrorSQLSTATEMessage
1301HY000 (ER_WARN_ALLOWED_PACKET_OVERFLOWED)%s 的结果大于 max_allowed_packet(%ld),已截短
1302HY000 (ER_CONFLICTING_DECLARATIONS)冲突生命:'%s%s 和 %s%s'
13032F003 (ER_SP_NO_RECURSIVE_CREATE)不能从另一个存储过程中创建 %s
130442000 (ER_SP_ALREADY_EXISTS)%s %s 已存在
130542000 (ER_SP_DOES_NOT_EXIST)%s %s 不存在
1306HY000 (ER_SP_DROP_FAILED)DROP %s %s 失败
1307HY000 (ER_SP_STORE_FAILED)CREATE %s %s 失败
130842000 (ER_SP_LILABEL_MISMATCH)%s 无匹配标签:%s
130942000 (ER_SP_LABEL_REDEFINE)重新定义标签 %s
131042000 (ER_SP_LABEL_MISMATCH)末端标签 %s 无匹配项
131101000 (ER_SP_UNINIT_VAR)正在引用未初始化的变量 %s
13120A000 (ER_SP_BADSELECT)PROCEDURE %s 不能在给定场景下返回结果集
131342000 (ER_SP_BADRETURN)仅在 FUNCTION 中运行 RETURN
13140A000 (ER_SP_BADSTATEMENT)在存储过程中不允许 %s
131542000 (ER_UPDATE_LOG_DEPRECATED_IGNORE)更新日志已被放弃,并用二进制日志取代, SET SQL_LOG_UPDATE 被忽略
131642000 (ER_UPDATE_LOG_DEPRECATED_TRANSLATED)更新日志已被放弃,并用二进制取代, SET SQL_LOG_UPDATE 由 SET SQL_LOG_BIN 取代
131770100 (ER_QUERY_INTERRUPTED)查询执行被中断
131842000 (ER_SP_WRONG_NO_OF_ARGS)对于 %s %s,参量数目不正确,预期为 %u,但却是 %u
131942000 (ER_SP_COND_MISMATCH)未定义的 CONDITION: %s
132042000 (ER_SP_NORETURN)在 FUNCTION %s 中未发现 RETURN
13212F005 (ER_SP_NORETURNEND)FUNCTION %s 结束时缺少 RETURN
132242000 (ER_SP_BAD_CURSOR_QUERY)游标语句必须是 SELECT
132342000 (ER_SP_BAD_CURSOR_SELECT)游标 SELECT 不得有 INTO
132442000 (ER_SP_CURSOR_MISMATCH)未定义的 CURSOR: %s
132524000 (ER_SP_CURSOR_ALREADY_OPEN)游标已打开
132624000 (ER_SP_CURSOR_NOT_OPEN)游标未打开
132742000 (ER_SP_UNDECLARED_VAR)未声明的变量: %s
1328HY000 (ER_SP_WRONG_NO_OF_FETCH_ARGS)不正确的 FETCH 变量数目
132902000 (ER_SP_FETCH_NO_DATA)FETCH 无数据
133042000 (ER_SP_DUP_PARAM)重复参数:%s
133142000 (ER_SP_DUP_VAR)重复变量:%s
133242000 (ER_SP_DUP_COND)重复条件:%s
1334HY000 (ER_SP_CNAT_ALTER)ALTER %s %s 失败
13350A000 (ER_SP_SUBSELECT_NYI)不支持 Subselect 的值
13360A000 (ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG)在存储函数或触发程序中,不允许 %s
133742000 (ER_SP_VARCOND_AFTER_CURSHNDLR0游标或句柄声明后的变量或条件声明
133842000 (ER_SP_CURSOR_AFTER_HANDLER)句柄声明后的的游标声明
133920000 (ER_SP_CASE_NOT_FOUND)对于 CASE 语句,未发现 CASE
1340HY000 (ER_FPARSER_TOO_BIG_FILE)配置文件 %s 过大
1341HY000 (ER_FPARSER_BAD_HEADER)文件 '%s' 中存在残缺的文件类型标题
1342HY000 (ER_FPARSER_EOF_IN_COMMENT)解析 %s 时,文件意外结束
1343HY000 (ER_FPARSER_ERROR_IN_PARAMETER)解析参数 '%s' 时出错 (行: '%s')
1344HY000 (ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER)跳过未知参数 '%s'
1345HY000 (ER_VIEW_NO_EXPLAIN)EXPLAIN/SHOW 无法发出,缺少对基本表的权限
1346HY000 (ER_FRM_UNKNOWN_TYPE)文件 '%s' 在其题头中有未知的类型 '%s'
1347HY000 (ER_WRONG_OBJECT)'%s.%s' 不是 %s
1348HY000 (ER_NONUPDATEABLE_COLUNN)列 '%s' 不可更新
1349HY000 (ER_VIEW_SELECT_DERIVED)视图的 SELECT 在 FROM 子句中包含子查询
1350HY000 (ER_VIEW_SELECT_CLAUSE)视图的 SELECT 包含 '%s' 子句
1351HY000 (ER_VIEW_SELECT_VARIABLE)视图的 SELECT 包含 1 个变量或参数
1352HY000 (ER_VIEW_SELECT_TEMPTABLE)视图的 SELECT 引用了临时表 '%s'
1353HY000 (ER_VIEW_WRONG_LIST)视图的 SELECT 和视图的字段列表有不同的列计数
1354HY000 (ER_WARN_VIEW_MERGE)此时,不能在这里使用视图合并算法(假定未定义算法)
1355HY000 (ER_WARN_VIEW_WITHOUT_KEY)正在更新的视图没有其基本表的完整键
1356HY000 (ER_VIEW_INVALID)视图 '%s.%s' 应用了无效的表、列、或函数、或视图的定义程序/调用程序缺少使用它们的权限
1357HY000 (ER_SP_NO_DROP_SP)无法从另一个存储子过程中撤销或更改 %s
1358HY000 (ER_SP_GOTO_IN_HANDLER)在存储子程序句柄中不允许 GOTO
1359HY000 (ER_TRG_ALREADY_EXISTS)触发器已经存在
1360HY000 (ER_TRG_DOES_NOT_EXIST)触发器不存在
1361HY000 (ER_TRG_ON_VIEW_TEMP_TABLE)触发器的 '%s' 是视图或临时表
1362HY000 (ER_TRG_CANT_CHANGE_ROW)在触发器中,不运行更新 %s 行
1363HY000 (ER_TRG_NO_SUCH_ROW_IN_TRG)在 %s 触发器中没有 %s 行
1364HY000 (ER_NO_DEFAULT_FOR_FIELD)字段 '%s' 没有默认值
136522012 (ER_DIVISION_BY_ZERO)被 0 除
1366HY000 (ER_TRUNCATED_WRONG_VALUE_FOR_FIELD)不正确的 %s 值,'%s',对于行 %ld 上的列 '%s'
136722007 (ER_ILLEGAL_VALUE_FOR_TYPE)解析过程中发现非法 %s '%s' 值
1368HY000 (ER_VIEW_NONUPD_CHECK)不可更新视图 '%s. %s' 上的 CHECK OPTION
1369HY000 (ER_VIEW_CHECK_FAILED)CHECK OPTION 失败,'%s.%s'
137042000 (ER_PROCACCESS_DENIED_ERROR)对于子程序 '%s',拒绝用户 '%s'@'%s' 使用 %s 命令
1371HY000 (ER_RELAY_LOG_FAIL)清除旧中继日志失败,%s
1372HY000 (ER_PASSWD_LENGTH)密码混编用是 %d 位的十六进制数
1373HY000 (ER_UNKNOWN_TARGET_BINLOG)在 binlog 索引中未发现目标日志
1374HY000 (ER_IO_ERR_LOG_INDEX_READ)读取日志索引文件时出现 I/O 错误
1375HY000 (ER_BINOG_PURGE_PROHIBITED)服务器配置不允许 binlog 清除
1376HY000 (ER_FSEEK_FAIL)fseek() 失败
1377HY000 (ER_BINLOG_PURGE_FATAL_ERR)在日志清除过程中出现致命错误
1378HY000 (ER_LOG_IN_USE)可清除的日志正在使用,不能清除
1379HY000 (ER_LOG_PURGE_UNKNOWN_ERR)在日志清除过程中出现未知错误
1380HY000 (ER_RELAY_LOG_INT)初始化中继日志功能
1381HY000 (ER_NO_BINARY_LOGGING)未使用二进制日志功能
1382HY000 (ER_RESERVED_SYNTAX)'%s' 语法保留给 MySQL 服务器内部使用
1383HY000 (ER_WSAS_FAILED)WSAStartup 失败
1384HY000 (ER_DIFF_GROUPS_PROC)尚不能用不同的组处理过程
1385HY000 (ER_NO_GROUP_FOR_PROC)对于该过程,SELECT 必须有 1 个组
1386HY000 (ER_ORDER_WITH_PROC)不能与该过程一起使用 ORDER 子句
1387HY000 (ER_LOGGING_PROHIBIT_CHANGING_OF)二进制日志功能和复制功能禁止更改全局服务器 %s
1388HY000 (ER_NO_FILE_MAPPING)无法映射文件:%s, errno: %d
1389HY000 (ER_WRONG_MAGIC)%s 中有错
1390HY000 (ER_PS_MANY_PARAM)预处理语句包含过多的占位符
1391HY000 (ER_KEY_PART_0)键部分 '%s' 的长度不能为 0
1392HY000 (ER_VIEW_CHECKSUM)视图文本校验和失败
1393HY000 (ER_VIEW_MULTIUPDATE)无法通过联合视图 '%s.%s' 更改 1 个以上的基本表
1394HY000 (ER_VIEW_NO_INSERT_FIELD_LIST)不能在没有字段列表的情况向爱插入联合视图 '%s.%s'
1395HY000 (ER_VIEW_DELETE_MERGE_VIEW)不能从联合视图 '%s.%s' 中删除
1396HY000 (ER_CANNOT_USER)对于 %s 的操作 %s 失败
1397XAE04 (ER_XAER_NOTA)XAER_NOTA:未知 XID
1398XAE05 (ER_XAER_INVAL)XAER_INVAL:无效参量(或不支持的命令)
1399XAE07 (ER_XAER_RMFAIL)XAER_RMFAIL:当全局事务处于 %s 状态时,不能执行命令
1400XAE09 (ER_XAER_OUTSIDE)XAER_OUTSIDE:某些工作是在全局事务外完成的
1401XAE03 (ER_XAER_RMERR)XAER_RMERR:在事务分支中出现致命错误,请检查数据一致性
1402XA100 (ER_XA_RBROLLBACK)XA_RBROLLBACK:回滚了事务分支
140342000 (ER_NONEXISTING_PROC_GRANT)在子程序 '%s' 上没有为主机 '%s' 上的用户定义这类的授权
1404HY000 (ER_PROC_AUTO_GRANT_FAIL)无法授权 EXECUTE 和 ALTER ROUTINE 权限
1405HY000 (ER_PROC_AUTO_REVOE_FAIL)无法撤销已放弃子程序上的所有权限
140622001 (ER_DATA_TOO_LONG)对于行 %ld 上的列 '%s' 来说,数据过长
140742000 (ER_SP_BAD_SQLSTATE)不良
1408HY000 (ER_STARTUP)%s,连接就绪;版本:%s,套接字:%s;端口:%d
1409HY000 (ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR)不能从具有固定大小行的文件中将值加载到变量
141042000 (ER_CANT_CREATE_USER_WITH_GRANT)不允许使用 GRANT 创建用户
1411HY000 (ER_WRONG_VALUE_FOR_TYPE)不正确的 %s 值,'%s',对于函数 %s
1412HY000 (ER_TABLE_DEF_CHANGED)表定义已更改,请再次尝试事务
141342000 (ER_SP_DUP_HANDLER)在相同快中声明了重复句柄
141442000 (ER_SP_NOT_VAR_ARG)子程序 %s 的 OUT 或 INOUT 参量不是变量
l4150A000 (ER_SP_NO_RETSET)不允许从 %s 返回结果集
141622003 (ER_CANT_CREATE_GEOMETRY_OBJECT)不能从发送给 GEOMETRY 字段的数据中获取几何对象
1417HY000 (ER_FAILED_ROUTINE_BREAK_BINLOG)1 个存储例程失败,在其声明没有 NO SQL 或 READS SQL DATA,而且二进制日志功能已启用,如果更新了非事务性表,二进制日志将丢失其变化信息
1418HY000 (ER_BINLOG_UNSAFE_ROUTINE)在该存储例程声明中没有 DETERMINISTIC 、NO SQL 或 READS SQL DATA,而且二进制日志功能已启用(或许打算使用不太安全的 log_bin_trust_routine_creators 变量)
1419HY000 (ER_BINLOG_CREATE_ROUTINE_NEED_SUPER)没有 SUPER 权限,而且二进制日志功能已启用(或许打算使用不太安全的 log_bin_trust_routine_creators 变量)
1420HY000 (ER_EXEC_STMT_WITH_OPEN_CURSOR)不能执行该预处理语句,该预处理语句与之相关的打开光标。请复位语句并再次执行
1421HY000 (ER_STMT_HAS_NO_OPEN_CURSOR)语句 (%lu) 没有打开的光标
1422HY000 (ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG)在存储函索或触发器中,不允许显示或隐式提交
1423HY000 (ER_NO_DEFAULT_FOR_VIEW_FIELD)视图 '%s.%s' 基本表的字段没有默认值
1424HY000 (ER_SP_NO_RECURSION)不允许递归存储子程序
142542000 (ER_TOO_BIG_SCALE)为列 '%s' 指定了过大的标度 %d,最大为 %d
142642000 (ER_TOO_BIG_PRECISION)为列 '%s' 指定了过高的精度 %d。最大为 %d
142742000 (ER_M_BIGGER_THAN_D)对于 float(M, D)、double(M, D) 或 decimal(M, D), M 必须 >= D (列 '%s')
1428HY000 (ER_WRONG_LOCK_OF_SYSTEM_TABLE)不能将系统 '%s.%s' 表的写锁定于其它表结合起来
1429HY000 (ER_CONNECT_TO_FOREIGN_DATA_SOURCE)无法连接到外部数据源,数据库 '%s'
1430HY000 (ER_QUERY_ON_FOREIGN_DATA_SOURCE)处理作用在外部数据源上的查询时出现问题。数据源错误: '%s'
1431HY000 (ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST)试图引用的外部数据源不存在。数据源错误:'%s'
1432HY000 (ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE)无法创建联合表。数据源连接字符串 '%s' 格式不正确
1433HY000 (ER_FOREIGN_DATA_STRING_INVALID)数据源连接字符串 '%s' 格式不正确
1434HY000 (ER_CANT_CREATE_FEDERATED_TABLE)无法创建联合表。外部数据源错误:'%s'
1435HY000 (ER_TRG_IN_WRONG_SCHEMA)触发程序位于错误的方案中
1436HY000 (ER_STACK_OVERRUN_NEED_MOGE)线程堆栈溢出,%ld 字节栈用了 %ld 字节,并需要 %ld 字节。请使用 mysqld -O thread_stack=# 指定更大的堆栈
143742000 (ER_TOO_LONG_BODY)'%s' 的子程序主题过长
1438HY000 (ER_WARN_CANT_DROP_DEFAULT_KEYCACHE)无法撤消默认的 keycache
143942000 (ER_TOO_BIG_DISPLAYWIDTH)对于列 '%s',显示宽度超出范围 (max = %d)
1440XAE08 (ER_XAER_DUPID)XAER_DUPID: XID 已存在
144122008 (ER_DATETIME_FUNCTION_OVERFLOW)日期时间函数,%s 字段溢出
1442HY000 (ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG)由于它已被调用了该存储函数/触发器的语句使用,不能在存储函数/触发器中更新表 '%s'
1443HY000 (ER_VIEW_PREVIEW_UPDATE)表 '%s' 的定义不允许在表 '%s' 上执行操作 %s
1444HY000 (ER_PS_NO_RECURSION)预处理语句包含应用了相同语句的存储例程调用。不允许以这类递归方式执行预处理语句
1445HY000 (ER_SP_CANT_SET_AUTOCOMMIT)不允许从存储函数或触发器中设置 autocommit
1446HY000 (ER_NO_VIEW_USER)视图定义用户者无这权限
1447HY000 (ER_VIEW_FRM_NO_USER)视图 %s.%s 没有定义用户信息(旧的表格式),当前用户将被当作定义用户,请重新创建视图
1448HY000 (ER_VIEW_OTHER_USER)需要 SUPER 权限才能创建具有 %s@%s 定义器的视图
1449HY000 (ER_NO_SUCH_USER)没有注册的 %s@%s
1450HY000 (ER_FORBID_SCHEMA_CHANGE)不允许将方案从 '%s' 变为 '%s'
145123000 (ER_ROW_IS_REFERENCED_2)不能删除或更新父行,外键约束失败 (%s)
145223000 (ER_NO_REFERENCED_ROW_2)不能添加或更新子行,外键约束失败 (%s)
145342000 (ER_SP_BAD_VAR_SHADOW)必须用`...`应用变量,或重新命名变量
1454HY000 (ER_PARTITION_REQUIRES_VALUES_ERROR)对于每个分区,%s PARTITIONING 需要 VALUES %s 的定义
1455HY000 (ER_RARTITION_WRONG_VALUES_ERROR)在分区定义中,只有 %s PARTITIONING 能使用 VALUES %s
1456HY000 (ER_PARTITION_MAXVALUE_ERROR)MAXVALUE 只能在最后 1 个分区定义中使用
1457HY000 (ER_PARTITION_SUBPARTITION_ERROR)子分区只能是哈希分区,并按键分区
1458HY000 (ER_PARTITION_WRONG_NO_PART_ERROR)定义了错误的分区数,与前面的设置不匹配
1459HY000 (ER_PARTITION_WRONG_NO_SUBPART_ERROR)定义了错误的子分区数,与前面的设置不匹配
1460HY000 (ER_CONST_EXPR_IN_PARTITION_FUNC_ERROR)在分区(子分区)函数中不允许使用常量/随机表达式
1461HY000 (ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR)RANGE/LIST VALUES 中的表达式必须是常量
1462HY000 (ER_FIELD_NOT_FOUND_PART_ERROR)RANGE/LIST VALEUS 中的表达式必须是常量
1463HY000 (ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR)仅在 KEY 分区中允许或使用字段列表
1464HY000 (ER_INCONSISTENT_PARTITION_INFO_ERROR)frm 文件中的分区信息与能够写入到 frm 文件中的不一致
1465HY000 (ER_PARTITION_FUNC_NOT_ALLOWED_ERROR)%s 函数返回了错误类型
1466HY000 (ER_PARTITIONS_MUST_BE_DEFINED_ERROR)对于 %s 分区,必须定义每个分区
1467HY000 (ER_RANGE_NOT_INCREASING_ERROR)对于各分区,VALUES LESS THAN 值必须严格增大
1468HY000 (ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR)VALUES 值必须与分区函数具有相同的类型
1469HY000 (ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR)LIST 分区中多次定义相同的常量
1470HY000 (ER_PARTITION_ENTRY_ERROR)在查询中,不能独立使用分区功能1471
1472HY000 (ER_PARTITION_NOT_DEFINED_ERROR)对于分区引擎,有必要定义所有的 %s
1473HY000 (ER_TOO_MANY_PARTITIONS_ERROR)定义了过多的分区
1474HY000 (ER_SUBPARTITION_ERROR)对于子分区,仅能将 RANGE/LIST 分区与 HASH/KEY 分区混合起来
1475HY000 (ER_CNAT_CREATE_HANDLER_FILE)无法创建特定的句柄文件
1476HY000 (ER_BLOB_FIELD_IN_PART_FUNC_ERROR)如果为分区函数选择了二进制校队,才允许使用 VARCHAR
1477HY000 (ER_CHAR_SET_IN_PART_FIELD_ERROR)在分区函数中,不允许使用 BLOB 字段
1478HY000 (ER_UNIQUE_KEY_NEED_ALL_FIELD_IN_PF)在分区函数中,%s 需要包含所有文件
1479HY000 (ER_NO_PARTS_ERROR)%s 的数目 = 0 不是允许的值
1480HY000 (ER_PARTITION_MGMT_ON_NONPARTITIONED)无法在非分区表上进心分区管理
1481HY000 (ER_DROP_PARTITION_NON_EXISTENT)分区列表中的错误出现变化
1482HY000 (ER_DROP_LAST_PARTITION)不能删除所有分区,请使用 DROP TABLE 取而代之
1483HY000 (ER_COALESCE_ONLY_ON_HASH_PARTITION)COALESCE PARTITION 仅能在 HASH/KEY 分区上使用
1484HY000 (ER_ONLY_ON_RANGE_LIST_PARTITION)%s PARTITION 仅能在 RANGE/LIST 分区上使用
1485HY000 (ER_ADD_PARTITION_SUBPART_ERROR)视图用错误的子分区数增加分区
1486HY000 (ER_ADD_PARTITION_NO_NEW_PARTITION)必须至少添加 1 个分区
1487HY000 (ER_COALESCE_PARTITION_NO_PARTITION0必须至少合并 1 个分区
1488HY000 (ER_REORG_PARTITION_NOT_EXISTS)重组的分区数超过了已有的分区数
1489HY000 (ER_SAME_NAME_PARTITION)在表中,所有分区必须有唯一的名称
1490HY000 (ER_CONSECUTIVE_REORG_PARTITIONS)重组分区集合时,它们必须连续
1491HY000 (ER_REORG_QUTSIDE_RANGE)新分区的范围超过了已重组分区的范围
1492HY000 (ER_DROP_PARTITION_FAILURE)在该版本的句柄中,不支持撤消分区
1493HY000 (ER_DROP_PARTITION_WHEN_FK_DEFINED)在表上定义了外键约束时,不能删除分区
1494HY000 (ER_PLUGIN_IS_NOT_LOADED)未加载插件 '%s'

MySQL Server error code 1201 – 1300



































































































ErrorSQLSTATEMessage
1202HY000 (ER_SLAVE_THREAD)无法创建从线程,请检查系统资源
120342000 (ER_TOO_MANY_USER_CONNECTIONS)用户 '%s' 已有了超过 max_user_connections 的活动连接
1204HY000 (ER_SET_CONSTANTS_ONLY)或许仅用与 SET 一起使用常量表达式
1205HY000 (ER_LOCK_WAIT_TIMEOUT)超过了锁定等待超时,请尝试重新启动事务
1206HY000 (ER_LOCK_TABLE_FULL)总的锁定数超过了锁定表的大小
120725000 (ER_READ_ONLY_TRANSACTION)在 READ UNCOMMITTED 事务期间,无法获得更新锁定
1208HY000 (ER_DROP_DB_WITH_READ_LOCK)当线程保持为全局读锁定时,不允许 DROP DATABASE
1210HY000 (ER_WRONG_ARGUMENTS)为 '%s' 提供的常量不正确
121142000 (ER_NO_PERMISSION_TO_CREATE_USER)不允许 '%s'@'%s' 创建新用户
1212HY000 (ER_UNION_TABLES_IN_DIFFRENT_DIR)不正确的表定义,所有的 MERGE 表必须位于相同的数据库中
121340001 (ER_LOCK_DEADLOCK)试图读取锁定时发现死锁,请尝试重新启动事务
1214HY000 (ER_TABLE_CANT_HANDLE_FT)所使用的表类型不支持 FULLTEXT 索引
1215HY000 (ER_CANNOT_ADD_FOREIGN)无法添加外键约束
121623000 (ER_NO_REFERENCED_ROW)无法添加或更新子行,外键约束失败
121723000 (ER_ROW_IS_REFERENCED)无法删除或更新父行,外键约束失败
121808S01 (ER_CONNECT_TO_MASTER)连接至主服务器 '%s' 时出错
1219HY000 (ER_QUERY_ON_MASTER)在主服务器 '%s' 上执行查询时出错
1220HY000 (ER_ERROR_WHEN_EXECUTING_COMMAND)执行命令 %s:%s 时出错
1221HY000 (ER_WRONG_USAGE)%s 和 %s 的用法不正确
122221000 (ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT)所使用的 SELECT 语句有不同的列数
1223HY000 (ER_CANT_UPDATE_WITH_READLOCK)由于存在冲突的的读书定,无法执行查询
1224HY000 (ER_MIXING_NOT_ALLOWED)禁止混合事务性和非事务性表
1225HY000 (ER_DUP_ARGUMENT)在语句中使用了两次选项 '%s'
122642000 (ER_USER_LIMIT_REACHED)用户 '%s' 超出了 '%s' 资源(当前值:%ld)
122742000 (ER_SPECIFIC_ACCESS_DENIED_ERROR)拒绝访问,需要 '%s' 权限才能执行该操作
1228HY000 (ER_LOCAL_VARIABLE)变量 '%s' 是 SESSION 变量,不能与 SET GLOBAL 一起使用
1229HY000 (ER_GLOBAL_VARIABLE)变量 '%s' 是 GLOBAL 变量,应使用 SET GLOBAL 来设置
123042000 (ER_NO_DEFAULT)变量 '%s' 没有默认值
123142000 (ER_WRONG_VALUE_FOR_VAR)变量 '%s' 不能设置为值 '%s'
123242000 (ER_WRONG_TYPE_FOR_VAR)变量 '%s' 的参数类型不正确
1233HY000 (ER_VAR_CANT_BE_RE)变量 '%s' 只能被设置,不能被读取
123442000 (ER_CANT_USE_OPTION_HERE)不正确的 '%s' 用法/位置
123542000 (ER_NOT_SUPPORTED_YET)该 MySQL 版本尚不支持 '%s'
1236HY000 (ER_MASTER_FATAL_ERROR_READING_BINLOG)从二进制日志读取数据时,获得来自主服务器的致命错误 %d :'%s'
1237HY000 (ER_SLAVE_IGNORED_TABLE)由于 replicate-*-table 规则,从 SQL 线程忽略了查询
1238HY000 (ER_INCORRECT_GLOBAL_LOCAL_VAR)变量 '%s' 是一种 '%s' 变量
123942000 (ER_WRONG_FK_DEF)对于 '%s' : '%s', 外键定义不正确
1240HY000 (ER_KEY_REF_DO_NOT_MATCH_TABLE_REF)键引用和表引用不匹配
124121000 (ER_OPERAND_COLUMNS)操作数应包含 %d 列
124221000 (ER_SUBQUERY_NO_1_ROW)子查询返回 1 行以上
1243HY000 (ER_UNKNOWN_STMT_HANDLER)指定给 %s 的未知预处理语句句柄
1244HY000 (ER_CORRUPT_HELP_DB)帮助数据库崩溃或不存在 (Help database is corrupt or does not exist)
1245HY000 (ER_CYCLIC_REFERENCE)对子查询的循环引用
1246HY000 (ER_AUTO_CONVERT)将列 '%s' 从 '%s' 转换为 '%s'
124742S22 (ER_ILLEGAL_REFERENCE)引用 '%s' 不被支持 (%s)
124842000 (ER_DERIVED_MUST_HAVE_ALIAS)所有的导出表必须有自己的别名
124901000 (ER_SELECT_REDUCED)在优化期间简化了选择 %u
125042000 (ER_TABLENAME_NOT_ALLOWED_HERE)来自某一 SELECT 的表 '%s' 不能在 '%s' 中使用
125108004 (ER_NOT_SUPPORT_AUTH_MODE)客户端不支持服务器请求的授权协议,请考虑升级 MySQL 客户端
125242000 (ER_SPATIAL_CANT_HAVE_NULL)SPATIAL 索引的所有部分必须是 NOT NULL
125342000 (ER_COLLATION_CHARSET_MISMATCH)对于 CHARACTER SET '%s', COLLATION '%s' 无效
1254HY000 (ER_SLAVE_WAS_RUNNING)从服务器正在运行
1255HY000 (ER_SLAVE_WAS_NOT_RUNNING)从服务器已停止
1256HY000 (ER_TOO_BIG_FOR_UNCOMPRESS)解压的数据过大,最大大小为 %d (也可能是,解压数据的长度已损坏)(Uncompressed data size too large; the maximum size is %d (probably, length of umcompressed data was corrupted))
1257HY000 (ER_ZLIB_Z_MEM_ERROR)ZLIB,无足够内存
1258HY000 (ER_ZLIB_Z_BUF_ERROR)ZLIB,输出缓冲区无足够内存(也可能是,解压数据的长度的已损坏)
1259HY000 (ER_ZLIB_Z_DATA_ERROR)ZLIB,输入数据已损坏
1260HY000 (ER_CUT_VALUE_GROUP_CONCAT)%d 行被 GROUP_CONCAT() 截去
126101000 (ER_WARN_TOO_FEW_RECORDS)行 %ld 不包含所有列的数据 (Row %ld doesn't contain data for all columns)
126201000 (ER_WANT_TOO_MANY_RECORDS)行 %ld 被截断,它包含的数据大于是进入列中的数据 (Row %ld was truncated; it contained more data than there were input columns)
126322004 (ER_WARN_NULL_TO_NOTNULL)列被设为默认值,在行 %ld 上将 NULL 提供给了 NOT NULL 列
126422003 (ER_WARN_DATA_OUT_OF_RANGE)为行 %ld 上的列 '%s' 调整出超出范围的值
126501000 (WARN_DATA_TRUNCATED)为行 %ld 上的列 '%s' 截短数据
1266HY000 (ER_WARN_USING_OUTER_HANDLER)为表 '%s' 使用存储引擎 '%s'
1267HY000 (ER_CANT_AGGREGATE_2COLLATIONS)对于操作 '%s',非法混合了校队 (%s, %s) 和 (%s, %s)
1268HY000 (ER_DROP_USER)无法撤消所有权限,为 1 个或多个请求的用户授权
1269HY000 (ER_REVOKE_GRANTS)无法撤消所有权限,为 1 个或个请求的用户授权
1270HY000 (ER_CANT_AGGREGATE_3COLLATIONS)对于操作 '%s',非法混合了校队 (%s, %s)、(%s, %s) 和 (%s, %s)
1271HY000 (ER_CANT_AGGREGATE_NCOLLATIONS)对于操作 '%s',非法混合了校队
1272HY000 (ER_VARIABLE_IS_NOT_STRUCT)变量 '%s' 不是变量组分(不能用作 XXXX.variable_name)
1273HY000 (ER_UNKNOWN_COLLATION)未知校对 '%s'
1274HY000 (ER_SLAVE_IGNORED_SSL_PARAMS)由于该服务器从服务器是在不支持 SSL 的情况下编译的,CHANGE MASTER 中的 SSL 参数被忽略,随后,如果启动了具备 SSL 功能的 MySQL,可使用这些参数
1275HY000 (ER_SERVER_IS_IN_SECURE_AUTH_MODE)服务器正在运行在 --secure-auth 模式下,但 '%s'@'%s' 有 1 个采用旧格式的密码,请将密码更改为新格式
1276HY000 (ER_WARN_FIELD_RESOLVED)SELECT #%ld 的字段或引用 '%s%s%s%s%s' 是在 SELECT #%d 中确定的
1277HY000 (ER_BAD_SLAVE_UNTIL_COND)对于 START SLAVE UNTIL,不正确的参数或参数组合
1278HY000 (ER_MISSING_SKIP_SLAVE)与 START SLAVE UNTIL 一起执行按步复制时,建议使用 --skip-slave-start,否则,如果发生未预料的从服务器 mysqld 重启,将出现问题
1279HY000 (ER_UNTIL_COND_IGNORED)SQL 线程未启动,因而 UNTIL 选项被忽略
128042000 (ER_WRONG_NAME_FOR_INDEX)不正确的索引名 '%s'
128142000 (ER_WRONG_NAME_FOR_CATALOG)不正确的目录名 '%s'
1282HY000 (ER_WARN_QC_RESIZE)查询高速缓冲设置大小为 %lu 时失败,新的查询高速缓冲的大小是 %lu
1283HY000 (ER_BAD_FT_COLUMN)列 '%s' 不能是 FULLTEXT 索引的一部分
1284HY000 (ER_UNKNOWN_KEY_CACHE)未知的键高速缓冲 '%s'
1285HY000 (ER_WARN_HOSTNAME_WONT_WORK)MySQL 是在 --skip-name-resolve 模式下启动的,必须在不使用该开关的情况向爱重启它,以便该授权起作用
128642000 (ER_UNKNOWN_STORAGE_ENGINE)未知的表引擎 '%s'
1287HY000 (ER_WARN_DEPRECATED_SYNTAX)'%s' 已过时,请使用 '%s' 取而代之
1288HY000 (ER_NON_UPDATED_TABLE)'%s' 的目标表 '%s' 不可更新
1289HY000 (ER_FEATURE_DISABLED)'%s' 特性已被禁止,要想使其工作,需要用 '%s' 创建 MySQL
1290HY000 (ER_OPTION_PREVENTS_STATEMENT)MySQL 正使用 '%s' 选项运行,因此不能执行该语句
1291HY000 (ER_DUPLICATED_VALUE_IN_TYPE)列 '%s' 在 '%s' 中有重复值 '%s'
129222007 (ER_TRUNCATED_WRONG_VALUE)截断了不正确的 %s 值:'%s'
1293HY000 (ER_TOO_MUCH_AUTO_TIMESTAMP_COLS)不正确的表定义,在 DEFAULT 或 ON UPDATE 子句中,对于 CURRENT_TIMESTAMP, 只有有一个 TIMESTAMP 列
1294HY000 (ER_INVALID_ON_UPDATE)对于 '%s' 列,ON UPDATE 子句无效
1296HY000 (ER_GET_ERRMSG)从 %s 获得错误 '%s'
1297HY000 (ER_GET_TEMPORARY_ERRMSG)从 %s 获得临时错误 %d '%s'
1298HY000 (ER_UNKNOWN_TIME_ZONE)未知或不正确的时区:'%s'
1299HY000 (ER_WARN_INVALID_TIMESTAMP)在行 %ld 的列 '%s' 中存在无效的 TIMESTAMP 值
1300HY000 (ER_INVALID_CHARACTER_STRING)无效的 %s 字符串: '%s'

MySQL Server error code 1101 - 1200





































































































ErrorSQLSTATEMessage
110142000 (ER_BLOB_CANT_HAVE_DEFAULT)BLOB/TEXT 列 '%s' 不能有默认值
110242000 (ER_WRONG_DB_NAME)不正确的数据库名 '%s'
110442000 (ER_TOO_BIG_SELECT)SELECT 将检查超过 MAX_JOIN_SIZE 的行,如果 SELECT 正常,请检查 WHERE,并使用 SET SQL_BIG_SELECTS = 1 或 SET SQL_MA_JOIN_SIZE = #
1105HY000 (ER_UNKNOWN_ERROR)未知错误
110642000 (ER_UNKNOWN_PROCEDURE)未知过程 '%s'
110742000 (ER_WRONG_PARAMCOUNT_TO_PROCEDURE)对于过程 '%s', 参数计数不正确
1108HY000 (ER_WRONG_PARAMETERS_TO_PROCEDURE)对于过程 '%s',参数不正确
110942S02 (ER_UNKNOWN_TABLE)'%s' 中的未知表 '%s'
111042000 (ER_FIELD_SPECIFIED_TWICE)列 '%s' 被指定了两次
1111HY000 (ER_INVALID_GROUP_FUNC_USE)无效的分组函数使用
111242000 (ER_UNSUPPORTED_EXTENSION)表 '%s' 使用了该 MySQL 版本中不支持的扩展
111342000 (ER_TABLE_MUST_HAVE_COLUMNS)1 个表至少有有 1 列
1114HY000 (ER_RECORD_FILE_FULL)表 '%s' 已满
111542000 (ER_UNKNOWN_CHARACTER_SET)未知字符集 '%s'
1116HY000 (ER_TOO_MANY_TABLES)表过多,MySQL 在 1 个联合操作中只能使用 %d 个表
1117HY000 (ER_TOO_MANY_FIELDS)列过多
111842000 (ER_TOO_BIG_ROWSIZE)行的大小过大。对于所使用的表类型,不包括 BLOB,最大行大小为 %d,必须将某些列更改为 TEXT 或 BLOB
1119HY000 (ER_STACK_OVERRUN)线程堆栈溢出,已使用,%ld 堆栈的 %ld。如果需要,请使用 mysqld -O thread_stack=# 指定较大的堆栈
112042000 (ER_WRONG_OUTER_JOIN)在 OUTER JOIN 中发现交叉关联,请价差 ON 条件
112142000 (ER_NULL_COLUMN_IN_INDEX)列 '%s' 与 UNIQUE 或 INDEX 一起使用,但未定义 NOT NULL
1122HY000 (ER_CANT_FIND_UDF)无法加载函数 '%s'
1123HY000 (ER_CANT_INITIALIZE_UDF)无法初始化函数 '%s'
1124HY000 (ER_UDF_NO_PATHS)对于共享库,不允许任何路径
1125HY000 (ER_UDF_EXISTS)函数 '%s' 已存在
1126HY000 (ER_CANT_OPEN_LIBRARY)不能打开共享库 ‘%s' (errno: %d %s)
1127HY000 (ER_CANT_FIND_DL_ENTRY)不能发现库中的符号 '%s'
1128HY000 (ER_FUNCTION_NOT_DEFINED)函数 '%s' 未定义
1129HY000 (ER_HOST_IS_BLOCKED)由于存在很多连接错误,主机 '%s' 被屏蔽,请用 mysqladmin flush-hosts 解除屏蔽
1130HY000 (ER_HOST_NOT_PRIVILEGED)不允许将主机 '%s' 连接到该 MySQL 服务器
113142000 (ER_PASSWORD_ANONYMOUS_USER)正在用匿名身份使用 MySQL,不允许匿名用户更改密码
113242000 (ER_PASSWORD_NOT_ALLOWED)必须有更新 MySQL 数据库中表的权限才能更改密码
113342000 (ER_PASSWORD_NO_MATCH)无法在用户表中找到匹配行
1134HY000 (ER_UPDATE_INFO)行匹配,%ld;已更改,%ld;警告,%ld
1135HY000 (ER_CANT_CREATE_THREAD)无法创建线程 (errno: %d),如果未出现内存溢出,请参阅手册以了解可能的与操作系统有关的缺陷
113621S01 (ER_WRONG_VALUE_COUNT_ON_ROW)列技术不匹配行 %ld 上的值计数
1137HY000 (ER_CANT_REOPEN_TABLE)无法再次打开表 '%s'
113822004 (ER_INVALID_USE_OF_NULL)NULL 值使用无效
113942000 (ER_REGEXP_ERROR)获得来自 regexp 的错误 '%s'
114042000 (ER_MIX_OF_GROUP_FUNC_AND_FIELDS)如果没有 GROUP BY 子句, GROUP 列(MIN(), MAX(), COUNT() ...)与非 GROUP 列的混合不合法
114142000 (ER_NONEXISTING_GRANT)没有为主机 '%s' 上的用户 '%s' 定义这类授权
114242000 (ER_TABLEACCESS_DENIED_ERROR)拒绝用户 '%s'@'%s' 在表 '%s' 上使用 '%s' 命令
114342000 (ER_COLUMNACCESS_DENIED_ERROR)拒绝用户 '%s'@'%s' 在表 '%s' 上使用命令 '%s' 命令
114442000 (ER_ILLEGAL_GRANT_FOR_TABLE)非法 GRANT/REVOKE 命令,请参阅手册以了解可使用何种权限
114542000 (ER_GRANT_WRONG_HOST_OR_USER)GRANT 的主机或用户参量过长
114642S02 (ER_NO_SUCH_TABLE)表 '%s.%s' 不存在
114742000 (ER_NONEXISTING_TABLE_GRANT)在表 '%s' 上没有为主机 '%s' 上的用户 '%s' 定义这类的授权
114842000 (ER_NOT_ALLOWED_COMMAND)所使用的命令在该 MySQL 版本中不允许
114942000 (ER_SYNTAX_ERROR)存在 SQL 语法错误,请参阅 MySQL 版本对应的手册,以了解正确的语法
1150HY000 (ER_DELAYED_CANT_CHANGE_LOCK)对于表 '%s', 延迟的插入线程不能获得请求的锁定
1151HY000 (ER_TOO_MANY_DELAYED_THREADS)使用的延迟线程过多
115208S01 (ER_ABORTING_CONNECTION)与数据库 '%s' 和用户 '%s' 的连接 %ld 失败 (%s)
115308S01 (ER_NET_PACKET_TOO_LARGE)获得消息包大于 max_allowed_packet 字节
115408S01 (ER_NET_READ_ERROR_FROM_PIPE)获得来自连接管道的读错误
115508S01 (ER_NET_FCNTL_ERROR)获得来自 fcntl() 的错误
115608S01 (ER_NET_PACKETS_OUT_OF_ORDER)获得无序消息包
115708S01 (ER_NET_UNCOMPRESS_ERROR)无法加压通信信息包
115808S01 (ER_NET_READ_ERROR)读取通信信息包时出错
115908S01 (ER_NET_READ_INTERRUPTED)读取通信信息包时出现超时
116008S01 (ER_NET_ERROR_ON_WRITE)写入通信信息包时出错
116108S01 (ER_NET_WRITE_INTERRUPTED)写入通信信息包时出现超时
116242000 (ER_TOO_LONG_STRING)结果字符串长于 max_allowed_packet 字节
116342000 (ER_TABLE_CNAT_HANDLE_BLOB)所使用表类型不支持 BLOB/TEXT 列
116442000 (ER_TABLE_CANT_HANDLE_AUTO_INCREMENT)所使用的表类型不支持 AUTO_INCREMENT 列
1165HY000 (ER_DELAYED_INSERT_TABLE_LOCKED)由于用 LOCK TABLES 锁定了表, INSERT DELAYED 不能与表 '%s' 一起使用
116642000 (ER_WRONG_COLUMN_NAME)不正确的列名 '%s'
116742000 (ER_WRONG_KEY_COLUMN)所使用的存储引擎不能为列 '%s' 指定索引
1168HY000 (ER_WRONG_MRG_TABLE)MERG 表中的所有表未同等定义
116923000 (ER_DUP_UNIQUE)由于唯一性限制,不能写如表 '%s'
117042000 (ER_BLOB_KEY_WITHOUT_LENGTH)在未指定键长度的键说明中使用了 BLOB/TEXT 列 '%s'
117142000 (ER_PRIMARY_CANT_HAVE_NULL)PRIMARY KEY 的多有部分必须是 NOT NULL, 如果需要为 NULL 的关键字,请使用 UNIQUE 取代
117242000 (ER_TOO_MANY_ROWS)结果有 1 个以上的行组成
117342000 (ER_REQUIRES_PRIMARY_KEY)该表类型要求主键
1174HY000 (ER_NO_RAID_COMPILED)该 MySQL 版本是未使用 RAID 支持而编译的
1175HY000 (ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE)正在使用安全更新模式,而且试图在不使用 WHERE 的情况下更新使用了 KEY 列的表
1176HY000 (ER_KEY_DOES_NOT_EXITS)在表 '%s' 中,键 '%s' 不存在
117742000 (ER_CHECK_NO_SUCH_TABLE)无法打开表
117842000 (ER_CHECK_NOT_IMPLEMENTED)用于表的引擎不支持 '%s'
117925000 (ER_CANT_DO_THIS_DURING_AN_TRANSACTION)不允许在事务中执行该命令
1180HY000 (ER_ERROR_DURING_COMMIT)在 COMMIT 期间出现错误 %ld
1181HY000 (ER_ERROR_DURING_ROLLBACK)在 ROLLBACK 期间出现错误 %d
1182HY000 (ER_ERROR_DURING_FLUSH_LOGS)在 FLUSH_LOGS 期间出现错误 %d
1183HY000 (ER_ERROR_DURING_CHECKPOINT)在 CHECKPOINT 期间出现错误 %d
118408S01 (ER_NEW_ABORINT_CONNECTION)与数据库 '%s', 用户 '%s' 和主机 '%s' 的连接 %ld 失败 (%s)
1185HY000 (ER_DUMP_NOT_IMPLEMENTED)针对表的存储引擎不支持二进制表转储
1186HY000 (ER_FLUSH_MASTER_BINLOG_CLOSED)Binlog 已关闭,不能 RESET MASTER
1187HY000 (ER_INDEX_REBUILD)重新创建传储表 '%s' 的索引失败
1188HY000 (ER_MASTER)来自主连接 '%s' 的错误
118908S01 (ER_MASTER_NET_READ)读取主连接时出现网络错误
119008S01 (ER_MASTER_NET_WRITE)写入主连接时出现网络错误
1191HY000 (ER_FT_MATCHING_KEY_NOT_FOUND)无法找到与列表匹配的 FULLTEXT 索引
1192HY000 (ER_LOCK_OR_ACTIVE_TRANSACTION)由于存在活动的锁定表或活动的事务,不能执行给定的命令
1193HY000 (ER_UNKNOWN_SYSTEM_VARIABLE)未知的系统变量 '%s'
1194HY000 (ER_CRASHED_ON_USAGE)表 '%s' 被标记为崩溃,应予以修复
1195HY000 (ER_CRASHED_ON_REPAIR)表 '%s' 被标记为崩溃,而且诶上次修复失败(自动?)
1196HY000 (ER_WARNING_NOT_COMPLETE_ROLLBACK)不能回滚某些非事务性已变动表
1197HY000 (ER_TRANS_CACHE_FULL)多语句事务要求更多过的 max_binlog_cache_size 存储字节,增大 mysqld 变量,并再次尝试
1198HY000 (ER_SLAVE_MUST_STOP)运行从实例时不能执行该操作,请首先运行 STOP SLAVE
1199HY000 (ER_SLAVE_NOT_RUNNING)该操作需要运行的从实例,请配置 SLAVE 并执行 START SLAVE
1200HY000 (ER_BAD_SLAVE)服务区未配置为从服务器,请更正 config 文件,或使用 CHANGE MASTER TO

MySQL Server error code 1000 - 1100

When an error occurs in MySQL, the server returns two types of error values:

  • A MySQL-specific error code. This value is numeric. It is not portable to other database systems.

  • An SQLSTATE value. The value is a five-character string (for example, 42S02. The values are taken from ANSI SQL and ODBC and are more standardized.


A message string that provides a textual description of the error is also available.
When an error occurs, the MySQL error code, SQLSTATE value, and message string are available using C API functions:

  • MySQL error code: Call mysql_errno()

  • SQLSTATE value: Call mysql_sqlstate()

  • Error message: Callmysql_error()



For prepared statements, the corresponding error functions are mysql_stmt_error(), mysql_stmt_sqlstate(), and mysql_stmt_error().
The number of errors, warnings, and notes for the previous statement can be obtained by calling mysql_warning_count().
The first two characters of an SQLSTATE value indicate the error class:

  • Class = 00 indicates success

  • Class = 01 indicates a warning

  • Class = 02 indicates "not found". This is relevant within the context of cursors and is used to control what happens when a cursor reaches the end of a data set. This condition also occurs for SELECT ... INTO var_list statements that retrieve no rows.

  • Class > 02 indicates an exception.



MySQL Server 错误消息信息列在share/errmsg.txt文件中。"%d" 和 "%s" 分别代表编号和字符串,显示时,它们将被消息值取代。
错误值列在 share/errmsg.txt 文件中,用于生成 include/mysqld_error.h 和 include/mysqld_ername.h MySQL源文件中的定义。
SQLSTATE 值列在share/errmsg.txt文件中,用于生成include/sql_state.h MySQL源文件中的定义。







































































































ErrorSQLSTATEMessage
1000HY000 (ER_HASHCHK)hashchk
1001HY000 (ER_NISAMCHK)isamchk
1002HY000 (ER_NO)N0
1003HY000 (ER_YES)YES
1004HY000 ((ER_CANT_CREATE_FILE)无法创建文件 '%s'(errno: %d)
1005HY000 (ER_CANT_CREATE_TABLE)无法创建表 '%s'(errno: %d)
1006HY000 (ER_CANT_CREATE_DB)无法创建库 '%s'(errno: %d)
1007HY000 (ER_DB_CREATE_EXISTS)无法创建数据库 '%s', 数据库已存在
1008HY000 (ER_DB_DROP_EXISTS)无法删除数据库 '%s',数据库不存在(can't drop '%s', errno: %d)。
1009HY000 (ER_DB_DROP_DELETE)删除数据库时出错(can't delete '%s', errno : %d)
1010HY000 (ER_DB_DROP_RMDIR)删除数据库时出错(can't rmdir '%s', errno : %d)
1011HY000 (ER_CANT_DELETE_FILE)删除 '%s' 时出错(errno: %d)
1012HY000 (ER_CANT_FIND_SYSTEM_REC)无法读取系统表中的记录。
1013HY000 (ER_CANT_GET_STAT)无法读取 '%s' 的状态(errno: %d)
1014HY000 (ER_CANT_GET_WD)无法获得工作目录(errno: %d)
1015HY000 (ER_CANT_LOCK)无法锁定文件 (errno: %d)
1016HY000 (ER_CANT_OPEN_FILE)无法打开文件:'%s' (errno: %d)
1017HY000 (ER_FILE_NOT_FOUND)无法找到文件 (errno: %d)
1018HY000 (ER_CANT_READ_DIR)无法读取 '%s' 的目录(errno: %d)
1019HY000 (ER_CANT_SET_WD)无法无 '%s' 更改目录 (errno: %d)
1020HY000 (ER_CHECKREAD)自上次读取原来表 '%s' 中的记录已更改
1021HY000 (ER_DISK_FULL)磁盘满 (%s);等待释放空间
1022HY000 (ER_DUP_KEY)无法写入;表 '%s' 重复键
1023HY000 (ER_ERROR_ON_CLOSE)关闭 '%s' 时出错 (errno: %d)
1024HY000 (ER_ERROR_ON_READ)读取文件 '%s' 时出错 (errno: %d)
1025HY000 (ER_ERROR_ON_RENAME)将 '%s' 重命为'%s'时出错 (errno: %d)
1026HY000 (ER_ERROR_ON_WRITE)写入文件 '%s' 时出错 (errno: %d)
1027HY000 (ER_FILE_USED)'%s' 已锁定,拒绝更改
1028HY000 (ER_FILSORT_ABORT)排序中断
1029HY000 (ER_FORM_NOT_FOUND)对于 '%s', 视图 '%s' 不存在
1030HY000 (ER_GET_ERRNO)从存储引擎中获得错误 %d
1031HY000 (ER_ILLEGAL_HA)表 '%s' 的存储引擎不含该选项
1032HY000 (ER_KEY_NOT_FOUND)无法在 '%s' 中找到记录
1033HY000 (ER_NOT_FORM_FILE)文件中有不正确信息:'%s'
1034HY000 (ER_NOT_KEYFILE)表 '%s', 键文件不存在,请尝试修复
1035HY000 (ER_OLD_KEYFILE)表 '%s' 旧的键文件,请修复
1036HY000 (ER_OPEN_AS_READONLY)表 '%s' 只能只读
1037HY000 (ER_OUTOFMEMORY)内存溢出,重启服务器并再次尝试(需要 %d 字节)
1038HY000 (ER_OUT_OF_SORTMEMORY)排序内存溢出,增加服务器的排序分类缓存大小。
1039HY000 (ER_UNEXPECTED_EOF)读取文件 '%s' 时出现意外 EOF (errno: %d)
1040HY000 (ER_CON_COUNT_ERROR)连接过多
1041HY000 (ER_OUT_OF_RESOURCES)内存溢出,请检查 mysqld 或其它进程是否使用了所有可用内存,如不然,或许应使用 'ulmit' 允许 mysqld 使用更多内存,或增加交换空间的大小
104208S01 (ER_BAD_HOT_ERROR)无法获得该地址给出的主机名
104308S01 (ER_HANDSHAKE_ERROR)握手失败
104442000 (ER_DBACCESS_DENIED_ERROR)拒绝用户 '%s'@'%s' 访问数据库 '%s'
104528000 (ER_ACCESS_DENIED_ERROR)拒绝用户 '%s'@'%s' 的访问(使用密码 '%s')
10463D000 (ER_NO_DB_ERROR)未选择数据库
104708S01 (ER_UNKNOWN_COM_ERROR)未知命令
104823000 (ER_BAD_NULL_ERROR)列 '%s' 不能为空
104942000 (ER_BAD_DB_ERROR)未知数据库 '%s'
105042S01 (ER_TABLE_EXISTS_ERROR)表 '%s' 已存在
105142S02 (ER_BAD_TABLE_ERROR)未知表:'%s'
105223000 (ER_NON_NUIQ_ERROR)'%s' 中的 '%s' 不唯一
105308S01 (ER_SERVER_SHUTDOWN)操作过程中服务器关闭
105442S22 (ER_BAD_FIELD_ERROR)'%s' 中的未知列 '%s'
105542000 (ER_WRONG_FIELD_WITH_GROUP)'%s' 不在 GROUP BY 中
105642000 (ER_WRONG_GROUP_FILED)无法在 '%s' 在创建组
105742000 (ER_WRONG_SUM_SELECT)语句中有 sum 函数和相同语句中的列
105821S01 (ER_WRONG_VALUE_COUNT)列计数不匹配值计数
105942000 (ER_TOO_LONG_IDENT)ID 名称 '%s' 过长
106042S21 (ER_DUP_FIELDNAME)重复列名 '%s'
106142000 (ER_DUP_KEYNAME)重复键名称 '%s'
106223000 (ER_DUP_ENTRY)键 '%s' 的重复记录 '%s'
106342000 (ER_WRONG_FIELD_SPEC)列 '%s' 属性定义不正确 (Incorrect column specifier for column '%s')
106442000 (ER_PARSE_ERROR)在行 %d 上, '%s' 靠近 '%s'
106542000 (ER_EMPTY_QUERY)查询为空
106642000 (ER_NONUNIQ_TABLE)表/别名 '%s' 不唯一
106742000 (ER_INVALID_DEFAULT)'%s' 无效默认值
106842000 (ER_MULTIPLE_PRI_KEY)定义了多个主键
106942000 (ER_TOO_MANY_KEYS)指定了过多键,允许的最大键数是 %d
107042000 (ER_TOO_MANY_KEYES_PARTS)指定了过多键部分:允许的最大键部分是 %d (Too many key parts specified; max %d parts allowed)
107142000 (ER_TOO_LONG_KEY)指定的键过长,最大键长度是 %d 字节
107242000 (ER_KEY_COLUMN_DOES_NOT_EXISTS)键列 '%s' 在表中不存在
107342000 (ER_BLOB_USED_AS_KEY)在表已使用的表存储类型中,BLOB 列 '%s' 不能用于 KEY 定义中 (BLOB column '%s' can't be used in key specification with the used table type)
107442000 (ER_TOO_BIG_FIELDLENGTH)列 '%s',列长度过大(max = %d),请使用 BLOB 或 TEXT 取代
107542000 (ER_WRONG_AUTO_KEY)不正确的表定义,只能有 1 个 auto 列,而且必须将其定义为键
1076HY000 (ER_READY)%s,连接就绪,版本: '%s', 套接字:'%s',端口:%d
1077HY000 (ER_NORMAL_SHUTDOWN)%s,正常关闭
1078HY000 (ER_GOT_SIGNAL)%s,获得信号 %d。放弃!
1079HY000 (ER_SHUTDOWN_COMPLETE)%s,关闭完成
108008S01 (ER_FORCING_CLOSE)%s,强制关闭线程 %ld,用户: '%s'
108108S01 (ER_IPSOCK_ERROR)无法创建 IP 套接字
108242S12 (ER_NO_SUCH_INDEX)表 '%s' 中没有与 CREATE INDEX 中索引类似的索引,重新创建表
108342000 (ER_WRONG_FIELD_TERMINATORS)字段分隔符参量不是预期的,请参考手册
108442000 (ER_BLOBS_AND_NO_TERMINATED)不能与 BLOB 一起使用固定行长度,请使用 'fields terminated by' (You can't use fixed rowlength with BLOBs; plese use 'fields terminated by')
1085HY000 (ER_TEXTFILE_NOT_READABLE)文件 '%s' 必须在数据库目录下,或能被所有人读取
1086HY000 (ER_FILE_EXISTS_ERROR)文件 '%s' 已存在
1087HY000 (ER_LOAD_INFO)记录, %ld;已删除,%ld;已跳过,%ld,警告,%ld
1088HY000 (ER_ALTER_INFO)记录,%ld;重复,%ld
1089HY000 (ER_WRONG_SUB_KEY)不正确的 KEY 前缀,使用的 KEY 不是字符串,所用的长度长于 KEY ;或存储引擎不支持前缀 KEY
109042000 (ER_CANT_REMOVE_ALL_FIELDS)不能用 ALTER TABLE 删除所有列,请使用 DROP TABLE 取而代之
109142000 (ER_CANT_DROP_FIELD_OR_KEY)不能删除 '%s',请检查列/KEY 是否存在
1092HY000 (ER_INSERT_INFO)记录, %ld;复制,%ld;警告,%ld
1093HY000 (ER_UPDATE_TABLE_USED)不能在 FROM 子句中指定要更新的目标表 '%s'
1094HY000 (ER_NO_SUCH_THREAD)未知线程 ID:%lu
1095HY000 (ER_KILL_DENIED_ERROR)不是线程 %lu 的所有者
1096HY000 (ER_NO_TABLES_USED)未使用任何表
1097HY000 (ER_TOO_BIT_SET)列 %s 和 SET 的字符串过多
1098HY000 (ER_NO_UNIQUE_LOGFILE)不能生成唯一的日志文件名 %s(1-999)
1099HY000 (ER_TABLE_NOT_LOCKED_FOR_WRITE)表 '%s' 已用 READ 锁定,不能更新
1100HY000 (ER_TABLE_NOT_LOCKED)未使用 LOCK TABLE 锁定表 '%s'