34 lines
1.0 KiB
Batchfile
34 lines
1.0 KiB
Batchfile
@echo off
|
|
chcp 65001 >nul
|
|
|
|
cd /d D:\code\db
|
|
|
|
set "MYSQL_PATH=C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe"
|
|
|
|
for %%F in (*.sql) do (
|
|
echo 正在处理文件: %%F
|
|
"%MYSQL_PATH%" -u root -p123456 -e "CREATE DATABASE IF NOT EXISTS %%~nF;"
|
|
|
|
:: 第一次导入尝试
|
|
"%MYSQL_PATH%" -u root -p123456 %%~nF < %%F
|
|
|
|
:: 检查数据库是否存在
|
|
"%MYSQL_PATH%" -u root -p123456 -e "USE %%~nF;" 2>nul
|
|
if errorlevel 1 (
|
|
echo 数据库 %%~nF 第一次导入失败,尝试重新导入...
|
|
|
|
:: 第二次导入尝试
|
|
"%MYSQL_PATH%" -u root -p123456 -e "DROP DATABASE IF EXISTS %%~nF; CREATE DATABASE %%~nF;"
|
|
"%MYSQL_PATH%" -u root -p123456 %%~nF < %%F
|
|
|
|
:: 再次检查
|
|
"%MYSQL_PATH%" -u root -p123456 -e "USE %%~nF;" 2>nul
|
|
if errorlevel 1 (
|
|
echo 错误: 数据库 %%~nF 导入失败!
|
|
) else (
|
|
echo 数据库 %%~nF 重新导入成功
|
|
)
|
|
) else (
|
|
echo 数据库 %%~nF 导入完成
|
|
)
|
|
) |