if (DB_A)
mysql -hxxxxA -uroot -pxxx -e "create TB_A"
else if (DB_B)
mysql -hxxxxB -uroot -pxxx -e "create TB_B"
else if (DB_C)
mysql -hxxxxC -uroot -pxxx -e "create TB_C"
end if
mysql -hxxxxA -uroot -pxxx -e "create TB_A"
else if (DB_B)
mysql -hxxxxB -uroot -pxxx -e "create TB_B"
else if (DB_C)
mysql -hxxxxC -uroot -pxxx -e "create TB_C"
end if
可以返回当前数据库名
mysql -hxxxxA -uroot -pxxx -e "create DB_A.TB_A"
else if (DB_B)
mysql -hxxxxB -uroot -pxxx -e "create DB_B.TB_B"
else if (DB_C)
mysql -hxxxxC -uroot -pxxx -e "create DB_C.TB_C"
end if
怎么才能把mysql的结果传递给bat呢?
我现在的问题,就是不知道运行脚本时,是在哪个数据库上。
如果完全在mysql里写,很容易得到是哪个数据库,
select schema_name into @dbName from information_schema.schemata where schema_name in('DB_A','DB_B', 'DB_C')
但mysql里,不支持if(@dbName = 'DB_A') , 所以就不会做了。虽然mysql -hxxxxB -uroot -pxxx -e "create DB_B.TB_B"也可以实现,但如果不是在正确的数据库上,就会返回error,log中能体现出来。功能实现了,毕竟不完美。焦点问题,怎么在bat中判断是哪一个数据库。估计在mysql中,使用if的方法,没有希望了
这样玩,玩死人了
set mysqlExec=select schema_name into @dbName from information_schema.schemata where schema_name in('DB_A','DB_B', 'DB_C')
做一次set,是因为这里面有'了
for /F %i in ('%mysqlprg% ^| find /C "DB_A" ') do set dbExist=%i
如果有这个数据库,dbExist就是1,否则就是0
if %dbExist%==1 create table
大功告成!