我有一个SQL查询:
insert into table1 select * from table2
我必须通过shell脚本执行这个查询,我正在以以下方式执行:
read -d '' QUERY <<EOF
insert into table1 select * from table2;
EOF
如果我这样做echo $QUERY
它打印目录中的所有文件,这就是插入失败的原因。有没有一种方法我仍然可以使用*,而不需要shell将其引用到该目录中的文件?
*
上的shell globbing将发生在任何使用$QUERY
的地方。在可能使用$QUERY
的任何位置使用引号。
最好是简单地将SQL语句管道传输到mysql或其他任何东西中
echo "insert into table1 select * from table2" | mysql