sql >> Database >  >> RDS >> Mysql

PreparedStatement:Kan ik de kolomnaam als parameter opgeven?

Dit gaat niet werken. De instructie prepare parseert de SQL en stuurt deze naar de database voor validatie en compilatie. Als vraagtekens delen van de SQL zouden kunnen vervangen, zou je het hele punt van gebonden variabelen verliezen - snelheid en veiligheid. U zou SQL-injectie opnieuw invoeren en instructies moeten voor alle parameters opnieuw worden gecompileerd.

Zou niet zoiets als SELECT * FROM table WHERE c1 = ? OR c2 = ? OR c3 = ? beter zijn (uiteraard afhankelijk van indexen en tabelgroottes).



  1. MYSQL - Onmogelijk om een ​​externe sleutel te maken

  2. SUPER privilege(s) voor deze operatie

  3. PostgreSQL Meest recente invoer selecteren voor een gegeven ID

  4. selecteer gedupliceerd record en tel record van komma gescheiden in mysql