sql >> Databasteknik >  >> RDS >> Mysql

PreparedStatement:Kan jag ange kolumnnamnet som parameter?

Det här kommer inte att fungera. Preparera-satsen analyserar SQL, skickar till databasen för validering och kompilering. Om frågetecken kunde ersätta delar av SQL, skulle du förlora hela poängen med bundna variabler - hastighet och säkerhet. Du skulle återinföra SQL-injektion och satser måste kompileras om för alla parametrar.

Skulle inte något liknande SELECT * FROM table WHERE c1 = ? OR c2 = ? OR c3 = ? vara bättre (naturligtvis beroende på index och tabellstorlekar).



  1. 8 sätt att lägga till mikrosekunder till ett Datetime-värde i MariaDB

  2. ER_NOT_SUPPORTED_AUTH_MODE:Klienten stöder inte autentiseringsprotokoll som begärts av servern; överväg att uppgradera MySQL-klienten

  3. MySQL:s alternativ till T-SQL:s MED BAND

  4. T-SQL - Infoga data i överordnade och underordnade tabeller