Синтаксис запросов PowerShell MySQL - PullRequest
1 голос
/ 28 декабря 2010

Я хочу вставить данные в базу данных MySQL с помощью PowerShell.

Мой код работает, но у меня небольшая проблема с переменными в строке вставки.

Как я могу использоватьпеременная в строке вставки?

[system.reflection.assembly]::LoadWithPartialName("MySql.Data")
$cn = New-Object -TypeName MySql.Data.MySqlClient.MySqlConnection
$cn.ConnectionString = "SERVER=localhost;DATABASE=test;UID=root;PWD=pwd"
$cn.Open()
$cm = New-Object -TypeName MySql.Data.MySqlClient.MySqlCommand


#The problem, not working
$n = 7
$sql = 'INSERT INTO db1ea4test1.besitzer (besID, Vorname, Name) VALUES ( '$n' , "Testvor" + '$n' , "Testnach" + '$n')'

# Working
#$sql = 'INSERT INTO db1ea4test1.besitzer (besID, Vorname, Name) VALUES ("6", "Testvor", "Testnach")'


$cm.Connection = $cn
$cm.CommandText = $sql
$dr = $cm.ExecuteNonQuery()

1 Ответ

3 голосов
/ 28 декабря 2010

Попробуйте использовать двойные кавычки для строки sql, одинарные кавычки вокруг отдельных переменных и убедитесь, что ваши объединенные переменные заключены в кавычки:

$sql = "INSERT INTO db1ea4test1.besitzer (besID, Vorname, Name) VALUES ( '$n' , 'Testvor$($n)' , 'Testnach$($n)')"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...