Mysql 笔记

1、ERROR 1822 (HY000): Failed to add the foreign key constraint. Missing index for constraint 'productnotes_ibfk_1' in the referenced table 'products'

我的错误是没有将products表中的prod_id字段设为主键,然后就无法将prod_id作为productnotes表的外键。

2、远程主机连接失败,报错:this authentication plugin is not supported

修改数据库:

 ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'mypassword';

查表,发现修改成功

mysql>  select host,user,plugin from mysql.user;
+-----------+------------------+-----------------------+
| host      | user             | plugin                |
+-----------+------------------+-----------------------+
| %         | root             | mysql_native_password |
| localhost | mysql.infoschema | caching_sha2_password |
| localhost | mysql.session    | caching_sha2_password |
| localhost | mysql.sys        | caching_sha2_password |
+-----------+------------------+-----------------------+
4 rows in set (0.00 sec)

root用户对应的host变成了%,即远程主机也可以访问mysql服务

3、in查询条件返回的结果集不是按照in中值的顺序排序,可以通过ORDER BY FIELD(column_name, value1, value2, value3, ...) 来排序。

4、escape 关键字用来指定转义字符。例如

SELECT * FROM `table` WHERE `column` LIKE '%\_%' ESCAPE '\';

其中,指定转义字符为反斜杠\ , 特殊字符  _  %  单引号' 需要被转义。其中,_ 是通配符,表示匹配1个字符; %是通配符,表示匹配0个或多个字符;单引号用于表示字符串。

5、NULL表示没有值,不等于空字符串。当字段值为NULL时,查询显示为NULL

mysql> select * from user;
+------+----+
| name | id |
+------+----+
|      |  1 |  # id为1的用户 name为空字符串
| u1   |  2 |
| u2   |  3 |
| NULL |  4 |  # id为4的用户 name为NULL,表示没有设置name
+------+----+
4 rows in set (0.00 sec)

在user表中id为4的用户 name为NULL,但是通过golang xorm框架获取user表的数据, id为4的user对象的name为""

6. MyISAM引擎数据库 查询字段 不区分大小写

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值