MySQL
(71)MySQL 导出指定数据表中的一行记录
## 场景
开发环境的一行配置(存于数据库中),我想导出到线上配置。
使用 Laravel Seeds 会导致全表被覆盖,所以只需要在线上插入一行。
两种方案:
## MySQl Workbench
SELECT
mysql 字段并不是越大越好,这不 php 内存爆掉了
为了一时之快,将存储商品描述的字段由 text 变更成了 longtext。
结果,由于升级 summernote 版本,导致图片上传 cdn 的回调函数失效,新上传图片都被转换成了 base64 存储与描述字段中。每个商品至少有 1
summernote 编辑器保存的内容超出了 MySQL TEXT 的长度限制
昨晚收到一堆微信小程序后台的报警邮件。但是邮件内容看不到,登录服务器查看 laravel 日志,发现是 summernote 保存的商品描述过长,超出了 TEXT 的长度限制
```
String data, rig
ht tru
MySQL 非 NULL 值返回 1, NULL 值返回 0
这是一个判断购物车中商品是否已失效的查询语句。需要返回一个字段标示是否失效。
```
select cart.product_name, (products.name IS NOT NULL) as valid from cart
MySQL inner join 与 left/right outer join 的区别及查询逻辑
例如,商品表与类型表,要查询指定类型名的商品,使用 inner join 还是 left outer join 呢?
用 left outer join 肯定没有问题,但是用 inner join 是否可以呢?
用真实数据来测试
MySQL 唯一约束 Unique 是否允许存在多个 NULL 值
实际测试结果,允许多个 NULL。
但是不允许多个空字符串 “”
我觉得这是合理的,例如,我可以不填写手机号,但是,如果我填写了,就必须是唯一的。
## 注意,并不是所有的数据库都是这个标准
SQL Server 就不允
MySQL 中 Decimal, Float, Double 的区别
最近在写小程序商城,不可避免的遇到价格的存储问题
## 如果要存交易额的话,通常使用什么类型?
凡是跟钱相关的都需要使用 Decimal。
- Decimal 是精确存储
- float, double 是近似存储,并不精确
Laravel Backpack 后台列表页面查询关键词包含中文时报错
报错信息如下
```
Next Illuminate\Database\QueryException: SQLSTATE[HY000]:
General error: 1271 Illegal mix of collations
MySQL 使用另一个表的已存储数据为当前表对应字段赋值
例如,
- store 存储的是商铺的基本信息,包括商铺 id, 商铺名称
- collection 存储的是收银记录,包括金额,商铺 id
现在为了避免联表查询,需要在 collection 表中增加一个冗余字段,Store
MySQL BOOL 类型是否需要建索引
通常不需要, 而且不建议
* 1/0 值分布均匀的话,不需要建立索引。如果建立了,并不会使查询更快,反而写入更慢。
* 1/0 中的某个值只存在少量的时候。索引有效果。
从 MySQL 的索引机制来分析,MySQL 使用的是