作者回复: 可能是表的字符集不对,我用的是默认的:CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci,你可以试一下
作者回复: 供大家参考
作者回复: 这里用字符,侧重点在数据类型的使用上,表示这个数据类型的最多可以放多少个字符。这里假设是ASCII码,因此一个字符就是一个字节。字节侧重存储,意思是这个数据类型的数据最大需要占用多少存储空间。比如,tinytext类型最多可以存放255个字符,但是最多占用的存储空间是256个字节,因为有一个字节用来存储字符串长度。
作者回复: 还是一个精度问题。如果用分来表示金额,存储类型是INT,那么,如果场景中只有加减运算,就不会有问题。但是如果涉及到乘除运算,运算过程中出现分以下的金额,就会出现精度损失的问题。所以,还是要根据实际的业务场景,来决定。
作者回复: 技术服务于业务,根据业务需要决定类型定义
作者回复: 这样写是不行的,SUM是聚合函数,一般要跟GROUP BY 关键字一起使用,比如,你有一个商品信息表demo.goodsmaster,其中有3个字段,分别是barcode,goodsname,price,现在商品名称可能重复,想查一下价格合计是1.1的商品,可以这样写: SELECT goodsname,SUM(price) FROM demo.goodsmaster GROUP BY goodsname HAVIING SUM(price)=1.1;
作者回复: 是的
作者回复: 建议使用DATETIME类型,理由是MySQL不会因为不同时区而返回不同的时间值,容易控制。
作者回复: 这是因为,浮点数的取值范围可以有2种方式来确定,一种方式是小数点放在在最前面,这样得出最小的无符号数,另外一种是把小数点放在最后,这样得出最大的无符号数
作者回复: blob是二进制字符串,比如可以把图片转换成二进制数据存入类型是blob的字段中。好处是可以像一个普通字段那样来处理图片,缺点是占用的存储资源大