为了账号安全,请及时绑定邮箱和手机立即绑定

请问为什么在java中不能用而在mysql中却没有问题?求解释?

请问为什么在java中不能用而在mysql中却没有问题?求解释?

MYYA 2022-05-01 14:10:27
PreparedStatement pt2=conn.prepareStatement("alter table tb_main add column ? INT");pt2.setString(1,“itemA”);pt2.execute();这是我的代码,每次执行都会抛出MySQLSyntaxErrorException:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''itemA' INT' at line 1这样的异常,所以我就用同样的语句到mysql的command line client中执行,一点问题也没有,成功的添加了列,这是什么情况???
查看完整描述

2 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

别使用pt2.setString(1,“itemA”);
用了后会加上引号 "alter table tb_main add column 'itemA' INT"
用字符串拼接吧 "alter table tb_main add column "+"itemA"+" INT"

查看完整回答
反对 回复 2022-05-04
?
茅侃侃

TA贡献1842条经验 获得超21个赞

试试不使用参数。
执行方法
executeUpdate()

查看完整回答
反对 回复 2022-05-04
  • 2 回答
  • 0 关注
  • 158 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信