【发布时间】:2020-03-18 09:52:19
【问题描述】:
早上好, 我有一个 CSV 文件,第一行包含我的表格列,其余的是数据。类似的东西
FIELD1,FIELD2,FIELD3
data1,data2,data3
data1,data2,data3
现在我一直在尝试编写一个脚本,该脚本将返回以下输出并且可以多次使用。
INSERT INTO tablename (FIELD1,FIELD2,FIELD3) VALUES
(data1,data2,data3)
INSERT INTO tablename (FIELD1,FIELD2,FIELD3) VALUES
(data1,data2,data3)
INSERT INTO tablename (FIELD1,FIELD2,FIELD3) VALUES
(data1,data2,data3)
这就是我目前所拥有的,但它没有返回正确的输出。
firstline=$(printf '%s\n' 1p d wq | ed -s file.csv )
cat file.csv | while read line
do
field1=$(echo "$line" | cut -d "," -f1)
field2=$(echo "$line" | cut -d "," -f2)
field3=$(echo "$line" | cut -d "," -f3)
echo "INSERT INTO tablename ($firstline) VALUES ($fields1 $field2 $field3) ">prova.csv
done
) VALUES ( 15blename (data1,1,1
我不确定是否可以在 while 循环中使用变量 $firstline...但我不明白为什么它不打印插入内容和正确的括号。
提前致谢。
编辑: 我有一个新问题:SQL 助手不允许我插入未用“'”括起来的值,所以我的问题是如何编辑脚本使其看起来像这样:
- INSERT INTO 表名(列)VALUES ('data1','data2','data3') ">prova.csv
谢谢
【问题讨论】: