无法使用Shell脚本插入包含字符的数据。 以下是我的Shell脚本的内容
export PGPASSWORD='postgres'; psql -h 'x.x.x.x' -U 'postgres' -d 'postgres' -c 'create table luck3 (empId int,name char(50));'
export PGPASSWORD='postgres'; psql -h 'x.x.x.x' -U 'postgres' -d 'postgres' -c 'insert into luck3 values(9,'sam');'
export PGPASSWORD='postgres'; psql -h 'x.x.x.x' -U 'postgres' -d 'postgres' -c 'insert into luck3 values(6,'ram');'
当数据类型为整数时,该命令运行良好,但是当我插入引号内的“ sam”之类的数据时,它将引发错误:column 'sam' does not exist
。
答案 0 :(得分:0)
export PGPASSWORD ='postgres'; psql -h'x.x.x.x'-U'postgres'-d'postgres'-c'插入luck3值(6,'sam');' 您可以在脚本的任何地方使用半引号。因此,需要在查询中对其进行转义:
-c 'insert into luck3 values(6,\'sam\');'
或者为了更好地阅读(理解),请使用双引号“转义”查询:
-c "insert into luck3 values(6,'sam');"