解决方法:

执行sql语句时,使用java.sql.Statement代替java.sql.PreparedStatement。

java.sql.PreparedStatement ps = conn.prepareStatement(sql);
ps.execute();

java.sql.Statement state = conn.createStatement();
state.execute(sql1);

代替。即可成功添加触发器。

 

研究:

Statement与PreparedStatement的区别: PreparedStatement接口继承Statement,PreparedStatement是预处理语句,其性能、安全性、可读性高于Statement。满足情况的条件下,要尽可能的使用PreparedStatement来执行sql语句。

以上问题可能是由于预处理语句对原sql语句重新处理后,未通过编译,导致报错。还需深入研究,待补充

相关文章:

  • 2021-07-15
  • 2022-12-23
  • 2021-09-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-12
  • 2021-12-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案