好的,我理解mysql上下文中的错误和警告是什么。但是有什么必要注意级别的警告呢?我已经搜索了mysql文档,但是没有找到任何相关的内容。如果有人能弄清楚它们是什么以及为什么有用,那就更好了。
mysql> create database if not exists city;
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> show warnings
-> ;
+-------+------+------------------------------------------------+
| Level | Code | Message |
+-------+------+------------------------------------------------+
| Note | 1007 | Can't create database 'city'; database exists |
+-------+------+------------------------------------------------+
1 row in set (0.00 sec)
1条答案
按热度按时间dpiehjr41#
我一直认为便笺就像一个“参考”:发生了什么事,或者没有发生什么事,可能会引起人们的兴趣。我能在文档中找到的最接近的定义是:
... 不影响重新加载操作完整性的事件
那是从
sql_notes
服务器变量,在mysqldump
.浏览mysql源代码
Sql_Condition::SL_NOTE
注解此级别的警告。有一些,但它们主要是你所期望的无影响的信息:事件已存在
表已存在
Query '%s' rewritten to '%s' by a query rewrite plugin
密码设置遗憾的是,我本以为代码docblock会提供更多关于它们的信息,但事实并非如此:
这可能需要向mysql团队提交一份文档错误报告。
有趣的是,mariadb说:
注解与警告的不同之处在于,它仅在sql\u notes变量设置为1(默认值)时出现,并且在启用严格模式时不会转换为错误。
在maria和mysql扩展版中,我的结论是:notes是警告,但是可以忽略,因为没有描述数据丢失或副作用。