반응형
이 코드를 스크립트에서 사용해 보았지만 백틱 안에있는 것을 만들었습니다. 이 예에서는 "echo"table-db ""가 데이터베이스에 생성되었습니다. 쿼리에 하이픈 문자가있는 폴더 이름을 만들지 않았습니다.
hyph=`ls -l $DBDIR | egrep '^d' | grep '.-.' | awk '{print $9}'`
dbhype=($hyph)
for dbtry in ${!dbhype[*]}
do
mysql -u$dbUser -p$dbPass -e 'CREATE DATABASE IF NOT EXISTS `echo "table-db"` CHARACTER SET utf8 COLLATE utf8_general_ci';
echo "Database ${dbhype[$dbtry]} created."
done
해결 방법
`table-db`
mysql -e 'CREATE DATABASE `table-db`;'
그러나 큰 따옴표 내에서 사용할 때는 이스케이프해야합니다. 그래야 bash에서 명령 sustitution으로 해석되지 않습니다.
mysql -e "CREATE DATABASE \`table-db\`;"
변수에서 데이터베이스 이름을 얻으려면 다음과 같이 작은 따옴표 문자열을 넘어서야합니다.
mysql -e "CREATE DATABASE \`$dbname\`;"
또는 다음과 같이 :
mysql -e 'CREATE DATABASE `'$dbname'`;'
참조 페이지 https://stackoverflow.com/questions/35592034
반응형
'MySql' 카테고리의 다른 글
MySQL How to retrieve table names in a mysql database with Python and MySQLdb? (0) | 2020.11.12 |
---|---|
MySQL에서 쿼리 조인 (0) | 2020.11.12 |
MySQL 1292 잘못된 날짜 시간 값 (0) | 2020.11.12 |
MySQL 오류 1064 : 'DEFAULT CHARACTER SET utf8' (0) | 2020.11.12 |
MySQL에서 자체 참조 필드가있는 테이블을 어떻게 생성합니까? (0) | 2020.11.12 |
댓글