我只是运行了一个简单的MySQL CREATE TABLE语句,查询正常,0行受影响,1个警告(0.07秒)。不过,它实际上并没有向我显示警告是什么。您如何查看刚刚发生的警告的内容?我使用的是MySQL 5.1,如果它有区别的话。我在网上找到的唯一内容是“显示警告”;但这只会产生“空组(0.00秒)。”
yrdbyhpb1#
SHOW WARNINGS是我知道的唯一方法,但是你必须在一个附带警告的查询之后立即运行它。如果你在其间运行任何其他查询,或者断开连接,那么SHOW WARNINGS将无法工作。SHOW WARNINGS的MySQL手册页没有指出任何其他方法,所以我相当肯定你会坚持使用它。
SHOW WARNINGS
myzjeezk2#
也可以使用\W将命令行设置为在查询后始终显示警告您可以使用\w再次关闭它们
r8uurelv3#
@HorusKol,你有相关的文档吗?我找不到任何文档。但我确实发现命令行选项--show-warnings可以完成这项工作,根据MySQL manual。
--show-warnings
k4emjkb14#
MySQL数据库导入数据时,经常会出现警告。这些警告很容易被忽略。我突然想看看今天拿到数据时的警告是什么。MySQL视图警告命令
show warnings;
字符串命令非常简洁,我查看时,一般警告是这样的。1.
Warning | 1265 | Data truncated for column ‘title’ at row 1265
型此警告是字段长度不够,导入的数据将由系统自动裁剪。2.
| Warning | 1366 | Incorrect string value: ‘\xB5\xDA\xB6\xFE\xBD\xEC...‘ for column ‘Journal title’ at row 1444 |
型这是错误的数据字符集。对于第二种情况,需要修改数据库的字符集或导入数据的txt编码格式。3.
| Warning | 1366 | Incorrect integer value: ‘‘ for column ‘work number’ at row 13 |
型这是为了插入空数据,如果字段允许空值,可以忽略这些警告。4.
| Warning | 1262 | Row 11 was truncated; it contained more data than there were input columns |
型这是导入数据的冗余列。“MySQL警告很容易理解,在警告消息后修改表也很容易。“
epggiuax5#
上面所有的建议对我都不起作用。我用了SHOW WARNINGS\G,它起作用了。
raogr8fs6#
您可以使用--show-warnings与登录来显示警告,如下所示。* 默认情况下,警告是隐藏的:
mysql -u john -p --show-warnings
字符串或者,您可以在登录后使用warnings(WARNINGS)或\W显示警告,如下所示:
warnings
WARNINGS
\W
mysql> warnings Show warnings enabled.
型或者:
mysql> WARNINGS Show warnings enabled.
mysql> \W Show warnings enabled.
型然后,警告如下所示:
mysql> SELECT 1/0; +------+ | 1/0 | +------+ | NULL | +------+ 1 row in set, 1 warning (0.00 sec) Warning (Code 1365): Division by 0
型并且,您可以在登录后使用nowarning(NOWARNING)或\w来隐藏警告,如下所示:
nowarning
NOWARNING
\w
mysql> nowarning Show warnings disabled.
mysql> NOWARNING Show warnings disabled.
mysql> \w Show warnings disabled.
型然后,一个警告被隐藏如下:
mysql> SELECT 1/0; +------+ | 1/0 | +------+ | NULL | +------+ 1 row in set, 1 warning (0.00 sec)
型或者在Windows上,您可以在my.ini中的[mysql]下设置show-warnings,如下所示。* 我的答案解释了[mysql],我的答案解释了my.ini在Windows上的位置:
my.ini
[mysql]
show-warnings
# "my.ini" [mysql] ... show-warnings
型然后,您可以通过将my.ini的位置设置为--defaults-file=或--defaults-extra-file=来登录,以显示警告,如下所示。* --defaults-file=或--defaults-extra-file=必须是第一个选项,否则会出现错误:
--defaults-file=
--defaults-extra-file=
mysql --defaults-file='C:\ProgramData\MySQL\MySQL Server 8.0\my.ini' -u john -p
mysql --defaults-extra-file='C:\ProgramData\MySQL\MySQL Server 8.0\my.ini' -u john -p
型
6条答案
按热度按时间yrdbyhpb1#
SHOW WARNINGS
是我知道的唯一方法,但是你必须在一个附带警告的查询之后立即运行它。如果你在其间运行任何其他查询,或者断开连接,那么SHOW WARNINGS
将无法工作。SHOW WARNINGS的MySQL手册页没有指出任何其他方法,所以我相当肯定你会坚持使用它。
myzjeezk2#
也可以使用\W将命令行设置为在查询后始终显示警告
您可以使用\w再次关闭它们
r8uurelv3#
@HorusKol,你有相关的文档吗?我找不到任何文档。但我确实发现命令行选项
--show-warnings
可以完成这项工作,根据MySQL manual。k4emjkb14#
MySQL数据库导入数据时,经常会出现警告。
这些警告很容易被忽略。
我突然想看看今天拿到数据时的警告是什么。
MySQL视图警告命令
字符串
命令非常简洁,我查看时,一般警告是这样的。
1.
型
此警告是字段长度不够,
导入的数据将由系统自动裁剪。
2.
型
这是错误的数据字符集。
对于第二种情况,需要修改数据库的字符集或导入数据的txt编码格式。
3.
型
这是为了插入空数据,如果字段允许空值,可以忽略这些警告。4.
型
这是导入数据的冗余列。“
MySQL警告很容易理解,在警告消息后修改表也很容易。“
epggiuax5#
上面所有的建议对我都不起作用。我用了SHOW WARNINGS\G,它起作用了。
raogr8fs6#
您可以使用
--show-warnings
与登录来显示警告,如下所示。* 默认情况下,警告是隐藏的:字符串
或者,您可以在登录后使用
warnings
(WARNINGS
)或\W
显示警告,如下所示:型
或者:
型
或者:
型
然后,警告如下所示:
型
并且,您可以在登录后使用
nowarning
(NOWARNING
)或\w
来隐藏警告,如下所示:型
或者:
型
或者:
型
然后,一个警告被隐藏如下:
型
或者在Windows上,您可以在
my.ini
中的[mysql]
下设置show-warnings
,如下所示。* 我的答案解释了[mysql]
,我的答案解释了my.ini
在Windows上的位置:型
然后,您可以通过将
my.ini
的位置设置为--defaults-file=
或--defaults-extra-file=
来登录,以显示警告,如下所示。*--defaults-file=
或--defaults-extra-file=
必须是第一个选项,否则会出现错误:型
或者:
型