读取并使用表数据来填充其他表

时间:2014-01-02 14:37:46

标签: mysql bash

我有一个包含以下内容的文件:

domainname.com data2 data3
domainname2.com data5 data6

我正在尝试编写一个bash脚本来读取文件并将其放入数据库中。 但是有2个表必须填写。第一个现在填充,第二个需要第一个表中的ID数据填充第二个。我已经尝试了几个小时来运行第二部分(第一个表现在已经填满),但不断出现错误。 到目前为止,这是我的脚本:

#!/bin/bash
inputfile="mailertable4a.txt"
cat $inputfile | while read domain fwip user_id; do
##    echo "INSERT IGNORE INTO user_addresses (address,enabled,user_id,address_type,load_balance) VALUES ('$domain', '1', '$user_id', '1', '0');"
      counter=$("echo SELECT id FROM user_addresses WHERE user_addresses.address = '$domain';")
      echo "INSERT IGNORE INTO mail_hosts (address,enabled,port,useraddress_id) VALUES ('$fwip', '1', '25', '$counter');"
done | mysql -uroot -pmypasswd ******;

所以第一个表填充了##行。在下一行中,我尝试从该表中获取id号并在第3行中使用它。 但是我得到了错误:

  

第1行的错误1064(42000):您的SQL语法出错;查看与您的MySQL服务器版本对应的手册,以便在'domainname.com'附近使用正确的语法;')'在第1行

我尝试了几件事,但不断出错。

0 个答案:

没有答案