没有合适的资源?快使用搜索试试~ 我知道了~
今天碰到一个十分诡异的事情,在进行delte操作的时候出现数据删除不掉的问题,写一篇博客记录下来,避免再次踩坑。 抛出问题 因为是一个自己弄得一个很小的测试程序的后台,所以没有使用当下流行的Spring框架以及MyBatis,在开发一个删除数据库字段接口的时候发现接口没有报任何错误,但是查询的结果是没有删除成功[这里的字段是包含中文的],贴下代码: protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
资源详情
资源评论
资源推荐
MySQL编码问题导致含中文字段无法进行删除操作编码问题导致含中文字段无法进行删除操作
今天碰到一个十分诡异的事情,在进行delte操作的时候出现数据删除不掉的问题,写一篇博客记录下来,避免再次踩坑。
抛出问题抛出问题
因为是一个自己弄得一个很小的测试程序的后台,所以没有使用当下流行的Spring框架以及MyBatis,在开发一个删除数据库
字段接口的时候发现接口没有报任何错误,但是查询的结果是没有删除成功[这里的字段是包含中文的],贴下代码:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Connection connection = null;
Statement statement = null;
String sql;
response.setContentType("text/json;charset=UTF-8");
PrintWriter out = response.getWriter();
JSONObject jsonObject = new JSONObject();
String originTitle = request.getParameter("originTitle");
String originRunner = request.getParameter("originRunner");
System.out.println("originTitle:" + originTitle + "/originRunner:" + originRunner);
try {
// 注册 JDBC 驱动器
Class.forName("com.mysql.jdbc.Driver");
// 打开一个连接
connection = DriverManager.getConnection(Constans.DB_URL, Constans.USER, Constans.PASS);
// 执行 SQL
statement = connection.createStatement();
sql = "DELETE FROM daniel.`group` WHERE daniel.`group`.title = '" + originTitle
+ "' AND daniel.`group`.runner = '" + originRunner + "'";
statement.execute(sql);
} catch (Exception e) {
e.printStackTrace();
} finally {
// 输出数据
out.println(jsonObject.toJSONString());
try {
// 完成后关闭
statement.close();
connection.close();
} catch (SQLException exception) {
exception.printStackTrace();
}
}
}
由于删除不了,我特地把这份代码放入main方法中单独去在自己本地数据库中测试,由于但是为了简便,测试数据都是用abc
之类简单的字母,发现是可以进行删除操作的,这说明代码是没有问题的,于是我把眼光放在了数据库上面,是数据库哪里的
设置,于是我多次在本地数据库和线上数据库反复测试,最后发现是中文字段导致的[这中间多少坎坷想必大家都懂],线上的
数据库是可以删除不带中文字段的,于是我首先就想到了编码问题。
问题原因问题原因
简单来说就是IDE和MySql的编码不一致导致的,我们的IDE一般默认UTF-8,我们登上mysql后键入show variables like
'character%';命令查看编码:
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
weixin_38585666
- 粉丝: 6
- 资源: 966
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 5uonly.apk
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
- 基于MIC+NE555光敏电阻的声光控电路Multisim仿真原理图
- 基于JSP毕业设计-基于WEB操作系统课程教学网站的设计与实现(源代码+论文).zip
- 基于LM324和LM386的音响放大器Multisim仿真+PCB电路原理图
- Python机器学习与数据挖掘环境配置与库验证
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0