在大多数数据库中,您无法参数化表名称之类的对象名称,在MySQL中,理论上您可以做到,因为默认情况下,MySQL Connector /
J不使用服务器端参数,而是在将查询发送到服务器之前重写查询。但是,该值将作为带引号的字符串插入,并且对象名称不能为带引号的字符串,因此仍然无法使用。
因此
INSERT INTO ?或
SELECt ... FROM ?将不起作用,因为它产生
INSERT INTO'theTable'或
SELECt ... FROM 'theTable'。
对象名称必须是实际查询的一部分。不要为它们使用参数。大多数其他数据库(或其驱动程序)在此位置具有参数都会引发异常。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)