[英]CSV file upload into database using shell script
我正在使用腳本上傳csv文件
export IFS=","
cat $_csv_files | read a b c d;
現在,我需要將csv文件的c列中的值插入到數據庫中表制造映射的列制造名稱中 ,該如何實現?
當我嘗試下面的代碼
mysql -u $_db_user -p$_db_password $_db << eof
INSERT INTO \`manufacturemap\`
( \`manufacture_name\`) VALUES ($c)
eof
我得到:
ERROR 1136 (21S01) at line 1: Column count doesn't match value count at row 1
我在這里呆了幾個小時,請幫幫我。
輸入(csv文件):
a,b,c,d
1.01100156278101E+15,2014/07/08,2014/07/08,"Cash Withdrawal by Cheque-173320--TT1421957901"
1.01100156278101E+15,2014/07/08,2014/07/08,"Cheque Paid-173261--TT1421951241"
1.01100156278101E+15,2014/07/08,2014/07/08,"Cheque Paid-173298--TT1421951226"
1.01100156278101E+15,2014/06/08,2014/06/08,"Cash Withdrawal by Cheque-173319--TT1421858465"
嘗試這個:
#! /bin/sh
values ()
{
cat "$@" | \
while IFS=, read -r a b c d; do
printf '%s\n' "$c"
done | \
paste -sd, -
}
printf 'INSERT INTO `manufacturemap` (`manufacture_name`) VALUES (%s)\n' "$(values $_csv_files)" | \
mysql -u"$_db_user" -p"$_db_password" "$_db"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.