2015-07-12 190 views
0

有人能告訴我如何使用shell腳本將多行段落(比如一段非常大的段落)插入到MySQL數據庫表中嗎?將多行超長字符串插入到MySQL數據庫中

這裏是我目前使用的功能:

function dbPopulate() 
{ 
    command_ouput=$1 

    mysql -u $DB_USER -p$DB_PASSWORD << EOF 
    use $DB_NAME; 

    INSERT INTO $STATS_TABLE (script_runtime, command_output) VALUES (now(), $command_output); 

    EOF    
} 

注:這裏command_output的類型是「LONGTEXT」

+1

這是怎麼回事?引用你的變量是否有助於解決問題? (你應該總是*總是*引用你的shell變量擴展。) –

+0

正在傳遞的文本段落中有新行,特殊字符等,所以我認爲它與插入語句的語法衝突 – krckumar

回答

1

您需要添加你想要的字符串引號包圍插入:

INSERT INTO `$STATS_TABLE` (script_runtime, command_output) 
    VALUES (now(), '$command_output'); 

我也把身邊,你插入到表名,以防止您的腳本時,表名是保留關鍵字失敗的一些反引號。