我想制作一个连接到我的 MySQL 服务器并从 txt 文件中插入一些值的 bash 脚本。 我已经写下来了:
#!/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
我想错误出在我的 txt 文件中,但我已经尝试了很多变体,但仍然没有成功的希望。
我的 txt 文件如下所示:
10.16.54.29 00:f8:e5:33:22:3f marsara
最佳答案
试试这个:
#!/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;
这样,您可以流式传输文件读取以及 mysql 命令执行。
关于mysql - 用于在 MySQL 中插入值的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17997558/