Maison >base de données >tutoriel mysql >Pourquoi ne puis-je pas utiliser d'instructions préparées pour les noms de tables dans ma requête SQL ?
Lors d'une tentative d'utilisation d'instructions préparées pour définir un nom de table pour la sélection de données, une erreur persiste lors de l'exécution de la requête. L'exemple de code fourni présente le problème :
[Microsoft][ODBC Microsoft Access Driver] Parameter 'Pa_RaM000' specified where a table name is required. ... private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [?]"; //?=date
Le coupable dans ce scénario est l'incapacité de remplacer un nom de table par un paramètre. Les déclarations préparées ne conviennent pas à cette fin ; le nom de la table doit être codé en dur dans la requête. Pour résoudre le problème, envisagez l'approche suivante :
private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [" + reportDate + "?]";
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!