作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要一些帮助。如何在 MySQL 查询中定义 !a!?因为我得到了一些错误结果。
setlocal enableextensions
setlocal enableDelayedExpansion
if !a! EQU !b! (%sql_PATH%\mysql -uroot -e "DROP DATABASE '!a!';")
输出为
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax : check the manual that corresponds to your MySQL server version for the right sytax to use near ''sample sample_1 sample_2 '' at line 1
我的完整代码
@echo off
setlocal enableextensions
setlocal enableDelayedExpansion
set sql_PATH=C:\wamp\bin\mysql\mysql5.5.24\bin
set sql_DIR=C:\Users\neca\Desktop\db_test\databases\db_name
set "dbUser=root"
set "dbPass="
set LF=^
%empty line%
%empty line%
cd %sql_DIR%
FOR /D %%b IN (*) DO %sql_PATH%\mysql -u%dbUser% -e "CREATE DATABASE IF NOT EXISTS %%b;" && set "b=!b!%%b!LF!"
echo !b!
cd %sql_PATH%
for /f "usebackq delims=" %%a in (`
%sql_PATH%\mysql -u%dbUser% -e "SHOW DATABASES LIKE '%%sample%%';"
^| findstr /l /v /c:"Database" /c:"information_schema"
`) do (set "a=!a!%%a!LF!")
echo !a!
if !a! EQU !b! (%sql_PATH%\mysql -uroot -e "DROP DATABASE !a!;")
pause
最佳答案
您的问题不是批处理语法或延迟扩展不起作用。您的问题是变量的内容是换行分隔的数据库列表,但 DROP DATABASE 命令仅接受一个数据库名称。您需要遍历要删除的数据库列表,并为每个数据库发出 DROP
命令。
关于mysql - 批处理 : "!" OPERATOR in IF-ELSE MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28491626/
我是一名优秀的程序员,十分优秀!