У меня проблемы с выполнением сценария .bat, который выполняет некоторые команды в mysql. Я не могу понять, что происходит. Моя проблема заключается в выполнении этой windows командной строки ниже:
c:\mysql.exe -h instance -udbuser -pPass db -e "INSERT INTO db.table1 (SELECT REPLACE(CONCAT(TRIM(co_ano),'-',TRIM(co_mes),'-1'),'"', '') as col1,REPLACE(TRIM(col2_temp),'"', '') as col2, REPLACE(TRIM(col3_temp),'"', '') as col3, REPLACE(TRIM(col4_temp),'"', '') as col4, REPLACE(TRIM(col5_temp),'"', '') as col5, REPLACE(TRIM(col6_temp),',','.') as col6, REPLACE(TRIM(col7_temp),',','.') as col7 FROM db.temp_table1);"
Когда я разделяю команду и выполняю ее по частям, она работает нормально. Пример:
c:\mysql.exe -h instance -udbuser -pPass db
Это работает, и теперь я нахожусь в mysql>
В mysql командной строке, когда я выполняю это:
mysql>INSERT INTO db.table1 (SELECT REPLACE(CONCAT(TRIM(co_ano),'-',TRIM(co_mes),'-1'),'"', '') as col1, REPLACE(TRIM(col2_temp),'"', '') as col2, REPLACE(TRIM(col3_temp),'"', '') as col3, REPLACE(TRIM(col4_temp),'"', '') as col4, REPLACE(TRIM(col5_temp),'"', '') as col5, REPLACE(TRIM(col6_temp),',','.') as col6, REPLACE(TRIM(col7_temp),',','.') as col7 FROM db.temp_table1);
и Итак, работает.
Почему первая команда не работает? Мне нужно выполнить эту команду с помощью командного файла.
Я хотел бы добавить, что приведенная ниже команда работает нормально
c:\mysql.exe -h instance -udbuser -pPass db -e "OPTIMIZE TABLE temp_table1"
MySQL Ver 8.0.17
Кто-нибудь может мне помочь?