java - 是否可以在准备语句或 QueryRunner.update() 中提供表名或列名的参数?

标签 java postgresql servlets jdbc

删除自?在哪里 ? =?

是否可以为所有这些?提供参数?看来如果我不提供字符串,我就会收到错误。例如,它似乎只有在我有类似的东西时才有效:

从非营利组织中删除 WHERE nonpid = ?

它只需要这样的参数。

最佳答案

答案是否定的,您不能在准备好的语句中使用表名称。准备好的语句仅适用于列值。

这通常可以通过替代模式来规避,但如果您确实需要,您始终可以通过修改查询字符串将可选的表名称构建到查询中。如果您这样做,请确保清理您的输入以防止 SQL 注入(inject)。

关于java - 是否可以在准备语句或 QueryRunner.update() 中提供表名或列名的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16930443/

相关文章:

javascript - 将带有毫秒的unix时间戳转换为postgres可读的timestamptz

postgresql - sqlalchemy/postgresql : database column computed default value

java - 从 Servlet 访问 SSL 私钥

java - 注销后,当我在浏览器中单击后退按钮时,页面仍然可以访问,同时刷新它工作正常

java - 如何让JFrame不可移动?

java - 自定义硬件按钮事件/Intent

java - 如何设计美观的Web应用程序

java - 保存稍后可以导入数据库的 IDataset

python - 如何将 postgresql 字段名称输出到字典中,而不是仅在 python 中输出列名称?

java - ServletRequest 获取实际页面的名称