gpt4 book ai didi

sql - 使用 bash 将数据从一个数据库复制到另一个数据库

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:40:56 26 4
gpt4 key购买 nike

我需要将数据从一个数据库复制到我自己的数据库中,因为我想将它作为每日 cronjob 运行,我更喜欢将它放在 bash 中。我还需要将值存储在变量中,以便我可以对这些值运行各种检查/验证。这是我到目前为止得到的:

echo "SELECT * FROM table WHERE value='ABC' AND value2 IS NULL ORDER BY time" | mysql -u user -h ip db -p | sed 's/\t/,/g' | awk -F, '{print $3,$4,$5,$7 }' > Output  
cat Output | while read line
do
Value1=$(awk '{print "",$1}')
Value2=$(awk '{print "",$2}')
Value3=$(awk '{print "",$3}')
Value4=$(awk '{print "",$4}')
echo "INSERT INTO db (value1,value2,value3,value4,value5) VALUES($Value1,$Value2,'$Value3',$Value4,'n')" | mysql -u rb db -p
done

我从数据库中获取我需要的数据并将其存储在一个由空格分隔的新文件中。然后我逐行读取文件并将值存储在变量中,最后我使用正确的变量运行插入查询。

我认为存储值时出了点问题,但我真的无法弄清楚出了什么问题。

最佳答案

用于获取 Value2、Value3 和 Value4 的 awk 不会从 $line 获取输入。您可以将其修复为:

Value1=$(echo $line | awk '{print $1}')
Value2=$(echo $line | awk '{print $2}')
Value3=$(echo $line | awk '{print $3}')
Value4=$(echo $line | awk '{print $4}')

关于sql - 使用 bash 将数据从一个数据库复制到另一个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3819523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com