1

我想使用 PowerShell 将数据插入到我的 MySQL 数据库中。

我的代码正在运行,但插入字符串中的变量有一点问题。

如何在插入字符串中使用变量?

[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()
4

1 回答 1

3

尝试对 sql 字符串使用双引号,在单个变量周围使用单引号并确保引用连接的变量:

$sql = "INSERT INTO db1ea4test1.besitzer (besID, Vorname, Name) VALUES ( '$n' , 'Testvor$($n)' , 'Testnach$($n)')"
于 2010-12-28T12:38:45.003 回答