【发布时间】:2013-05-31 14:14:27
【问题描述】:
删除?在哪里 ? = ?
是否可以为所有这些 ?s 输入参数?似乎如果我不提供字符串,我会得到错误。例如,它似乎只有在我有类似的东西时才有效:
从非营利组织中删除 WHERE nonpid = ?
它只接受这样的参数。
【问题讨论】:
标签: java postgresql servlets jdbc
删除?在哪里 ? = ?
是否可以为所有这些 ?s 输入参数?似乎如果我不提供字符串,我会得到错误。例如,它似乎只有在我有类似的东西时才有效:
从非营利组织中删除 WHERE nonpid = ?
它只接受这样的参数。
【问题讨论】:
标签: java postgresql servlets jdbc
答案是否定的,你不能在准备好的语句中使用表名。准备好的语句仅适用于列值。
这通常可以通过备用模式来规避,但如果您确实需要,您始终可以通过修改查询字符串将可选的表名称构建到查询中。如果您这样做,请确保清理您的输入以防止 sql 注入。
【讨论】: