数据库备忘(MySQL)

java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp

错误原因:数据库表里面有一个datetime类型的字段的值为0000-00-00 00:00:00,而MySQL的datetime类型支持的范围为'1000-01-01'到'9999-12-31',所以报错了。去看看0000-00-00 00:00:00是怎么存进去的就行了。

Unknown character set: 'utf8mb4'

这是mysql驱动的问题,用mysql-connector-java5.1.6这个驱动包就没报错了。

HTTP Status 500 - Request processing failed; nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1185054 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.

查询数据库:
show global variables like '%max_allowed_packet%';

Paste_Image.png

默认最大值为1048576,也就是1024 * 1024 ,也就是所谓的1MB

现在我们将长度调大一些:

set global max_allowed_packet = 4 x 1024 x 1024; (在命令行中,x需要用星号表示,这里markdown编辑器显示不出来,所以用x代替)

这样就行了。可是这样还有问题,就是mysql重启以后就又回到原来的配置了,至于解决方法我还在摸索中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容