Mysql db表第一行中的元素返回:列名、两个破折号及其值

Mysql db表第一行中的元素返回:列名、两个破折号及其值,mysql,sql,database,powershell,Mysql,Sql,Database,Powershell,我正在使用powershell存储和获取数据库中的数据 我在从表的第一行获取奇怪的数据时遇到问题。 看起来像这样 这是我的powershell脚本 Invoke-SqlCmd -ServerInstance 'localhost' -inputfile C:\Users\Matej\Desktop\SQLQuery2.sql function insertToDb($line, $PlaylistId){ $position = $line.ToString().Split(',').G

我正在使用powershell存储和获取数据库中的数据

我在从表的第一行获取奇怪的数据时遇到问题。 看起来像这样

这是我的powershell脚本

Invoke-SqlCmd -ServerInstance 'localhost' -inputfile 
C:\Users\Matej\Desktop\SQLQuery2.sql

function insertToDb($line, $PlaylistId){

$position = $line.ToString().Split(',').Get(0)
$songName = $line.ToString().Split(',').Get(1)
$artistName = $line.ToString().Split(',').Get(2)
$link = $line.ToString().Split(',').Get(4)
Write-Output 'PlaylistId: '$PlaylistId


$insertSongQuery = "
    INSERT INTO SONG
        (position,name,artist,link,playlist_id)
    VALUES
        ('$position','$songName','$artistName','$link','$PlaylistId')
    GO
"
#Invoke-SQLcmd -ServerInstance 'localhost' -query $insertSongQuery -U vikiUser - 
 Password 1234 -Database ProjectDb
 }

function getPlaylist{
$shortName = $PSItem.ToString().Split(',').Get(0);
$name = $PSItem.ToString().Split(',').Get(1);
$insertquery = "
 INSERT INTO PLAYLIST
       (name, type) 
 VALUES 
       ('$name','country') 
 GO 
"
$getPlaylistIdQuery = "
    SELECT ID
    FROM PLAYLIST 
    WHERE PLAYLIST.name = '$name'
    GO
"
Invoke-SQLcmd -ServerInstance 'localhost' -query $insertquery -U vikiUser -Password 1234 -Database ProjectDb 
$PlaylistId= Invoke-SQLcmd -ServerInstance 'localhost' -query $getPlaylistIdQuery -U vikiUser -Password 1234 -Database ProjectDb


(Invoke-WebRequest -Uri https://spotifycharts.com/regional/$shortName/daily/latest/download).Content > out.csv
cat out.csv | Select-Object -skip 2 | select -First 10 | ForEach-Object {insertToDb $_ $PlaylistId}

#get 10
#insert Song(position,name,artist,playlist id)
}


cat C:\Users\Matej\Desktop\countries.txt | ForEach-Object {getPlaylist($_)}
我的想法是,它以列和行的形式获取数据库,在第一行上方,列之间有对齐数据库外观的线条,这就是为什么我获取第一行的名称和值。我怎么能越过这一关? 我尝试分配一个全局“flag”变量,并将第一个值设置为0,将其他值设置为其正常值,但我无法在powershell中编辑全局值(我猜)。
我该怎么办?

正如Lee指出的,这不是一个错误,这是有标题的表格数据的默认值。所有DB都可以。如果不需要标题,请点引用数据值。由于您没有显示任何示例数据,因此需要输入/输出

所以,像这样的事情

cat out.csv | 
Select-Object -First 10 | 
ForEach-Object {insertToDb $PSItem.playlist_id}

这就是——通常——豪华的显示系统。在获得该显示时,
$playlyid
变量中有什么?尝试
$playlyid |获取成员
,或
$playlyid |选择对象-属性*
,或
$playlyid.GetType()
。为什么不直接使用?