1044和1045是什么?
使用mysql数据库的时候,最容易碰上1044和1045错误。什么意思?有点经验的人往往会说:没权限,密码错误。于是,菜鸟傻傻记住了。
过一段时间,再问。两个概念,菜鸟傻傻分不清。于是Bing:
* Error: `1044` SQLSTATE: `42000` ([`ER_DBACCESS_DENIED_ERROR`](https://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html#error_er_dbaccess_denied_error))
Message: Access denied for user '%s'@'%s' to database '%s'
* Error: `1045` SQLSTATE: `28000` ([`ER_ACCESS_DENIED_ERROR`](https://dev.mysql.com/doc/refman/5.5/en/error-messages-server.html#error_er_access_denied_error))
Message: Access denied for user '%s'@'%s' (using password: %s)
转开一个话题:其实用DashApp更快。具体用Dash和Bing搜索主要看查找的内容和个人使用习惯了,下面是dash的一个截图。身边人用Dash的比较少,所以这里多说一句。
如何去理解上面两句英文
Access denied for user '%s'@'%s' to database '%s'
Access denied for user '%s'@'%s' (using password: %s)
-
%s
起到一个占位符的作用;注意,这里的%s
,我们潜意识默认它是有值的。 -
@'%s'
相当于@localhost
这种。现在看来很好理解,而我当时的误区是把@
后面的%s
理解成密码(现在想想都好笑,但是事后诸葛亮,我们要理解这种不以为意的习惯)。所以,当时怎么看怎么别扭。无法区分两个。
而关于其它的错误,也没有必要去记,按照这个方式逻辑去学习应该是可以的。主要是对英文的理解很重要。同时在认识这个问题时,感谢别人的提醒。
笔者后来常遇到的
Error: `1048` SQLSTATE: `23000` ([`ER_BAD_NULL_ERROR`](error-handling.html#error_er_bad_null_error))
Message: Column '%s' cannot be null