Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bash + MySQL -d masalah backtick

Coba lakukan ini :

dbEntry="$(printf "SELECT \140%s\140 FROM 'RiverDataDays' WHERE date = '%s';\n" "$timeSample" "$(<tmpValue )" | mysql -N -D "$targetDatabase")"
echo "$dbEntry"

atau

dbEntry="$(printf "SELECT \`%s\` FROM 'RiverDataDays' WHERE date = '%s';\n" "$timeSample" "$(<tmpValue )" | mysql -N -D "$targetDatabase")"
echo "$dbEntry"

Backquote (`) digunakan dalam substitusi perintah gaya lama, mis.

foo=`command`

foo=$(command)

sintaks dianjurkan sebagai gantinya. Penanganan backslash di dalam $() tidak terlalu mengejutkan, dan $() lebih mudah untuk disarang . Lihat http://mywiki.wooledge.org/BashFAQ/082

\140

adalah representasi oktal dari backtick, lihat

man ascii


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL pilih hanya baris dengan nilai maksimal pada kolom

  2. Bagaimana saya bisa menggunakan TAHUN (), BULAN () dan HARI () SQL di Doctrine2?

  3. mysql-connector-java-8.0.12 :mendapatkan kesalahan untuk zona waktu server 'Malay Peninsula Standard Time'

  4. WHERE datetime lebih lama dari beberapa waktu (mis. 15 menit)

  5. MySQL dari desimal (13.6) ke mata uang