Mysql
 sql >> база данни >  >> RDS >> Mysql

Проблем с отметката на Bash + MySQL -d

Опитайте да направите това :

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

или

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

Обратните кавички (`) се използват при заместването на команди от стар стил, напр.

foo=`command`

foo=$(command)

вместо това се препоръчва синтаксис. Обработката на обратна наклонена черта вътре в $() е по-малко изненадваща, а $() е по-лесно за влагане . Вижте http://mywiki.wooledge.org/BashFAQ/082

\140

е осмичното представяне на обратна отметка, вижте

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. mysql_fetch_array не извлича всички редове

  2. Какво означава, когато MySQL е в състояние Изпращане на данни?

  3. Използване на JDeveloper с MySQL база данни и Oracle Database на AWS RDS, част 2

  4. Незаконен микс от съпоставяне в mySQL

  5. Получаване на броя на редовете за вмъкване/актуализиране от ON DUPLICATE KEY UPDATE