Создание базы данных MySQL с переменными

Я хочу сделать что-то вроде

СОЗДАТЬ БАЗУ ДАННЫХ, ЕСЛИ НЕ СУЩЕСТВУЕТ @database_name;

Из чтения синтаксис mysql для подготовленных операторов кажется, что они не могут использоваться для создания баз данных, иначе что-то подобное было бы нормально.

SET @s = CONCAT('CREATE DATABASE IF NOT EXISTS ',@database_name);
PREPARE stmt FROM @s;
EXECUTE stmt;

В идеале я хочу, чтобы это было что-то Я могу запустить из файла .sql из сценария оболочки

#!/bin/bash

MYSQL="mysql"
`${MYSQL} --version >& /dev/null`
if [ $? != 0 ]; then
    MYSQL="mysql5"
    `${MYSQL} --version > /dev/null`
    if [ $? != 0 ]; then
        echo "Can't find mysql binary?"
        exit 1
    fi
fi

 ${MYSQL} -u root --password=###### -e "set @database_name:='ben_search';source CreateSkeleton.sql;"

Есть идеи?

6
задан jeffreydev 19 September 2011 в 08:41
поделиться