Powershell: преобразование запроса MariaDB в строку - PullRequest
0 голосов
/ 09 января 2020

Можете ли вы помочь мне преобразовать приведенный ниже запрос в строку $ query?

$arg1 = "--user=root" 
$arg2 = "--password=" + $dbPsw
$query = @("INSERT INTO `characters` (`account_name`,`obj_id`,`char_name`,`phone`) VALUES  ('John',1000,'John',1234567890);")
$arg3 = "--execute="+ $query
Start-Process "mysql.exe " -ArgumentList @($arg1,$arg2,$arg3) 

или в сплаттинг. Mysql возвращает только список команд

Большое спасибо

1 Ответ

1 голос
/ 09 января 2020

Я не думаю, что вам нужно Start-Process. Просто запустите команду. (PowerShell - это, в конце концов, оболочка. Одна из задач оболочки - запускать введенные вами команды.)

Следует обратить внимание на то, что символ обратной кавычки (`) является escape-символом в PowerShell, поэтому вам придется удвоить их:

mysql "--user=root" "--password=$dbPsw" "--execute=INSERT INTO ``characters`` (``account_name``,``obj_id``,``char_name``,``phone``) VALUES ('John',1000,'John',1234567890);"

Если команда mysql не указана в пути, вам необходимо указать путь к ней; Например:

C:\MYSQL\mysql "--user=root" ...

Если программа mysql.exe находится в пути, содержащем пробелы, используйте оператор вызова (&); например:

& "C:\Program Files\MYSQL\mysql.exe" "--user=root" ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...