set和show语法之四
2007-11-11 14:08:33 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄧ粯銇勯幒瀣仾闁靛洤瀚伴獮鍥敍濮f寧鎹囬弻鐔哥瑹閸喖顬堝銈庡亝缁挸鐣烽崡鐐嶆棃鍩€椤掑嫮宓佸┑鐘插绾句粙鏌涚仦鎹愬闁逞屽墰閹虫捇锝炲┑瀣╅柍杞拌兌閻ゅ懐绱撴担鍓插剱妞ゆ垶鐟╁畷銉р偓锝庡枟閻撴洘銇勯幇闈涗簼缂佽埖姘ㄧ槐鎾诲礃閳哄倻顦板┑顔硷工椤嘲鐣烽幒鎴旀瀻闁规惌鍘借ⅵ濠电姷鏁告慨顓㈠磻閹剧粯鈷戞い鎺嗗亾缂佸鏁婚獮鍡涙倷閸濆嫮顔愬┑鐑囩秵閸撴瑦淇婇懖鈺冪<闁归偊鍙庡▓婊堟煛鐏炵硶鍋撻幇浣告倯闁硅偐琛ラ埀顒冨皺閺佹牕鈹戦悙鏉戠仸闁圭ǹ鎽滅划鏃堟偨缁嬭锕傛煕閺囥劌鐏犻柛鎰ㄥ亾婵$偑鍊栭崝锕€顭块埀顒佺箾瀹€濠侀偗婵﹨娅g槐鎺懳熺拠鑼舵暱闂備胶枪濞寸兘寮拠宸殨濠电姵纰嶉弲鎻掝熆鐠虹尨宸ョ€规挸妫濆铏圭磼濡搫顫嶇紓浣风劍閹稿啿鐣烽幋锕€绠婚悹鍥у级瀹撳秴顪冮妶鍡樺鞍缂佸鍨剁粋宥夋倷椤掍礁寮垮┑鈽嗗灣閸樠勭妤e啯鍊垫慨妯煎亾鐎氾拷

核心提示:译者:叶金荣(Email:),手册来源:MySQL(和PHP搭配之最佳组合)手册版本 5.0.20,set和show语法之四,出处:http://iMySQL(和PHP搭配之最佳组合).cn,转载请注明译者和出处,在这种情况下,warning_count 仍然是产生的警告信息总数,并且不能用于商业用途,违者必究
译者:叶金荣(Email:),手册来源:MySQL(和PHP搭配之最佳组合)手册版本 5.0.20,出处:http://iMySQL(和PHP搭配之最佳组合).cn,转载请注明译者和出处,并且不能用于商业用途,违者必究。
14.5.3.21 SHOW WARNINGS 语法
SHOW WARNINGS [LIMIT [offset,] row_count]
SHOW COUNT(*) WARNINGS
SHOW WARNINGS 显示了最后一个查询语句产生的错误、警告、提示等信息,如果它没有产生任何信息,则不显示任何信息。这个语句是在MySQL(和PHP搭配之最佳组合) 4.1.0实现的。它的一个相关语句是 SHOW ERRORS,不过它只显示错误信息,详情请看“14.5.3.10SHOW ERRORS Syntax”。随着执行语句的不同每次显示的信息都会产生变化。 SHOW COUNT(*) WARNINGS 语句显示了错误、警告、提示信息的总记录数。也可以通过取得变量 warning_count 的值来获得总错误记录数:
SHOW COUNT(*) WARNINGS;
SELECT @@warning_count;
warning_count 的值可能会比 SHOW WARNINGS 显示的结果记录数大,因为系统变量 max_error_count 被设置的比较小,因此没有把所有的信息都存下来。本章节后面演示了发生这种情况的例子。 LIMIT 分句的用法和在 SELECT 语句一样。详情请看“14.1.7 SELECT Syntax”。 MySQL(和PHP搭配之最佳组合)服务器把最后一次查询中产生的错误、警告、提示信息总数返回了。如果使用C API,这个值可以通过调用 MySQL(和PHP搭配之最佳组合)_warning_count() 得到。详情请看“21.2.3.58 MySQL(和PHP搭配之最佳组合)_warning_count()”。 注意,警告信息的框架在MySQL(和PHP搭配之最佳组合) 4.1.0中增加了,在这个时候还有很多语句不产生警告信息。在4.1.1中,这种情况得到了改善,很多语句都产生了警告信息,例如:LOAD DATA INFILE 及 INSERT, UPDATE, CREATE TABLE, 和 ALTER TABLE 等。以下 DROP TABLE 语句就产生了一个提示信息:
MySQL(和PHP搭配之最佳组合)> DROP TABLE IF EXISTS no_such_table;
MySQL(和PHP搭配之最佳组合)> SHOW WARNINGS;
+-------+------+-------------------------------+
| Level | Code | Message |
+-------+------+-------------------------------+
| Note | 1051 | Unknown table 'no_such_table' |
+-------+------+-------------------------------+
以下是一个 CREATE TABLE 和 INSERT 语句产生的语法警告和转换警告信息:
MySQL(和PHP搭配之最佳组合)> CREATE TABLE t1 (a TINYINT NOT NULL, b CHAR(4)) TYPE=MyISAM;
Query OK, 0 rows affected, 1 warning (0.00 sec)
MySQL(和PHP搭配之最佳组合)> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Warning
Code: 1287
Message: 'TYPE=storage_engine' is deprecated, use
'ENGINE=storage_engine' instead
1 row in set (0.00 sec)
MySQL(和PHP搭配之最佳组合)> INSERT INTO t1 VALUES(10,'MySQL(和PHP搭配之最佳组合)'),(NULL,'test'),
-> (300,'open source');
Query OK, 3 rows affected, 4 warnings (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 4
MySQL(和PHP搭配之最佳组合)> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Warning
Code: 1265
Message: Data truncated for column 'b' at row 1
*************************** 2. row ***************************
Level: Warning
Code: 1263
Message: Data truncated, NULL supplied to NOT NULL column 'a' at row 2
*************************** 3. row ***************************
Level: Warning
Code: 1264
Message: Data truncated, out of range for column 'a' at row 3
*************************** 4. row ***************************
Level: Warning
Code: 1265
Message: Data truncated for column 'b' at row 3
4 rows in set (0.00 sec)
错误、警告、提示信息的最大存储数量是由系统变量 max_error_count 控制的。它的默认值是64,通过修改 max_error_count 的值就可以改变最大存储数量。以下例子中,ALTER TABLE 语句产生了3个警告信息,不过只存储了1条,因为 max_error_count 的值为 1:
MySQL(和PHP搭配之最佳组合)> SHOW VARIABLES LIKE 'max_error_count';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_error_count | 64 |
+-----------------+-------+
1 row in set (0.00 sec)
MySQL(和PHP搭配之最佳组合)> SET max_error_count=1;
Query OK, 0 rows affected (0.00 sec)
MySQL(和PHP搭配之最佳组合)> ALTER TABLE t1 MODIFY b CHAR;
Query OK, 3 rows affected, 3 warnings (0.00 sec)
Records: 3 Duplicates: 0 Warnings: 3
MySQL(和PHP搭配之最佳组合)> SELECT @@warning_count;
+-----------------+
| @@warning_count |
+-----------------+
| 3 |
+-----------------+
1 row in set (0.01 sec)
MySQL(和PHP搭配之最佳组合)> SHOW WARNINGS;
+---------+------+----------------------------------------+
| Level | Code | Message |
+---------+------+----------------------------------------+
| Warning | 1263 | Data truncated for column 'b' at row 1 |
+---------+------+----------------------------------------+
1 row in set (0.00 sec)
想要禁止警告信息,只要将 max_error_count 设置为 0。在这种情况下,warning_count 仍然是产生的警告信息总数,但不存储任何警告信息。
[]
- ››setTimeout()在js类中的使用方法
- ››showModalDialog()、showModelessDialog()方法使用...
- ››Setting up proxy for Android Emulator
- ››Set是如何实现没有重复元素
- ››show engine innodb status显示信息不全的解决办法...
- ››show一下java中的volatile的作用
- ››showModelessDialog()使用详解
- ››setUTCHours 方法
- ››setMinutes 方法
- ››setMilliseconds 方法
- ››setHours 方法
- ››setFullYear 方法
赞助商链接