我只是运行了一个简单的MySQLCREATETABLE语句,生成了以下行查询正常,0行受影响,1条警告(0.07秒)。不过,它并没有告诉我警告是什么。如何查看刚刚发生的警告的内容?我使用MySQL 5.1,如果它有区别的话。我在网上找到的唯一的东西是“显示警告;“但那只产生了“空组(0.00秒)。”
11dmarpk1#
SHOW WARNINGS是我所知道的唯一方法,但是您必须在附带警告的查询之后立即运行它。如果您在中间运行了任何其他查询,或者断开了连接,那么SHOW WARNINGS将无法工作。SHOW WARNINGS的MySQL手册页没有指出任何其他方法,所以我相当肯定您会坚持使用它。
SHOW WARNINGS
mkshixfv2#
还可以使用\W将命令行设置为在查询后始终显示警告您可以使用\w再次关闭它们
2sbarzqh3#
@HorusKol,你有这方面的文件吗?我找不到但我确实发现命令行选项--show-warnings可以完成这项工作,根据MySQL manual。
--show-warnings
vohkndzv4#
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的警告很容易理解,在警告消息之后修改表也很容易。
wqsoz72f5#
上面所有的建议对我都不起作用。我使用了SHOW WARNINGS\G,它起作用了。
5条答案
按热度按时间11dmarpk1#
SHOW WARNINGS
是我所知道的唯一方法,但是您必须在附带警告的查询之后立即运行它。如果您在中间运行了任何其他查询,或者断开了连接,那么SHOW WARNINGS
将无法工作。SHOW WARNINGS的MySQL手册页没有指出任何其他方法,所以我相当肯定您会坚持使用它。
mkshixfv2#
还可以使用\W将命令行设置为在查询后始终显示警告
您可以使用\w再次关闭它们
2sbarzqh3#
@HorusKol,你有这方面的文件吗?我找不到但我确实发现命令行选项
--show-warnings
可以完成这项工作,根据MySQL manual。vohkndzv4#
MySQL数据库导入数据时,经常出现警告。
这些警告很容易被忽视。
我突然想看看今天拿到数据时有什么警告。
MySQL视图警告命令
该命令非常简洁,当我检查它时,一般的警告是这样的。
1.
此警告是字段长度不够,
导入的数据由系统自动裁剪。
2.
这是数据的错误字符集。
对于第二个,您需要修改数据库的字符集或导入数据的txt编码格式。
3.
这是插入空数据,如果字段允许空值,可以忽略这些警告。4.
这是导入数据的冗余列。
MySQL的警告很容易理解,在警告消息之后修改表也很容易。
wqsoz72f5#
上面所有的建议对我都不起作用。我使用了SHOW WARNINGS\G,它起作用了。