我们注意到我们在spring / java环境中运行的一些查询返回了截断列。问题是group_concat_max_len设置得太小了。 我尝试修改我们的数据库定义.sql文件以包含SET SESSION:
DROP DATABASE IF EXISTS acmedb;
CREATE DATABASE acmedb;
USE acmedb;
SET SESSION group_concat_max_len = 6999;
CREATE TABLE...
然而,这在db重新加载后不会生效。我必须使用此代码执行jdbctemplate execute()语句以使其传播。虽然这解决了问题我想知道是否有人可以告诉我为什么通过sql脚本执行它不会做任何事情。
修改 在另一个解决问题的尝试中,我尝试在Dao init()方法中删除以下行:
this.jdbcTemplateObject.execute("SET SESSION group_concat_max_len = 6999 ");
这有时会解决问题。我认为会议最终到期,这种变化就会消失。关于mysql设置会话的长期通话规则是什么?我可以在执行每个查询之前放置此语句,但这似乎是很多不必要的开销。