Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Ucieczka wartości w Mysqljs

Odwołując się do strony dokumentacji, do której prowadziłeś link, w sekcji „Zmiana kodu dla identyfikatorów zapytań ”, powinieneś być w stanie to zrobić:

mysql.query('SELECT * FROM ?? where name = ?', [this.table, this.votesTable]

Większość frameworków SQL nie zezwala na używanie parametrów do czegokolwiek poza pojedynczymi wartościami . Tj. nie identyfikuje tabel, identyfikatorów kolumn, list wartości ani słów kluczowych SQL. Biblioteka mysqljs jest rzadkością, ponieważ obsługuje cytowanie identyfikatorów i par klucz/wartość.

Odpowiedz na swój komentarz:

?? symbol zastępczy służy do identyfikatorów. Identyfikatory muszą być cytowane inaczej niż wartości. W MySQL wartość ciągu jest cytowana jak 'string' ale identyfikator jest cytowany z zaznaczeniem.

SELECT * FROM `mytable` where name = 'myname'

Klasa mysqljs używa ?? jako specjalny symbol zastępczy dla identyfikatora, dzięki czemu możesz określić klasę, w której musi być cytowany, za pomocą tylnego znacznika.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql::Błąd:Podany klucz był za długi; maksymalna długość klucza to 1000 bajtów

  2. Najlepsze praktyki dotyczące tworzenia indeksów w tabelach MySQL — kompilacja indeksu kroczącego

  3. Jak wstawić do tej samej tabeli w MySQL?

  4. Baza danych wyszukiwania PDO za pomocą LIKE

  5. JavaScript Potwierdź przed usunięciem za pomocą PHP/MYSQL