用於將值插入MySQL 的Bash 腳本解決方案
嘗試使用bash 腳本將值插入MySQL 時,使用者可能會遇到錯誤,指示列計數和值計數之間不符。當輸入資料格式與資料庫表中的預期列不一致時,通常會出現此錯誤。考慮以下範例:
下面的腳本旨在將文字檔案中的值插入名為「test」的MySQL 表中:
#!/bin/bash echo "INSERT INTO test (IP,MAC,SERVER) VALUES ('cat test.txt');" | mysql -uroot -ptest test;
但是,在執行時,腳本會傳回錯誤:
ERROR 1136 (21S01) at line 1: Column count doesn't match value count at row 1
要解決此問題,請驗證文字檔案「test.txt」中的資料格式。如果資料格式不正確,將導致 MySQL 表中的預期列數與插入的值之間存在差異。
這是採用不同方法的修訂腳本:
#!/bin/bash inputfile="test.txt" cat $inputfile | while read ip mac server; do echo "INSERT INTO test (IP,MAC,SERVER) VALUES ('$ip', '$mac', '$server');" done | mysql -uroot -ptest test;
此腳本迭代文字檔案中的每一行並提取每一列的值(IP、MAC、伺服器)。然後,它為每一行建構一條 SQL 語句,並將其傳送到 MySQL 命令,確保列計數和值計數相符。
透過修改腳本並正確格式化文字檔案中的輸入數據,您可以使用 bash 腳本成功將值插入 MySQL 表。
以上是使用 Bash 將資料插入 MySQL 時如何修復「列計數與值計數不符」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!