尝试运行时出错:
INSERT INTO dtb_order VALUES (
14,1920,NULL,
'テスト',NULL,'03','6302','0215',NULL,NULL,NULL,'160','0023',NULL,0,13,
'新宿区西新宿','セントラルパークタワー・ラ・トゥール',6,
'1972-09-02 00:00:00',NULL,3150,0,1,500,0,0,0,0,150,3650,3650,8,
'NP後払い',NULL,9000,'2013-09-12 18:42:56',
'2013-09-23 19:42:22',NULL,NULL,10,1,NULL,
'a:2:{s:5:\"title\";a:2:{s:4:\"name\";s:32:\"NP後払いでのお支払情報\";s:5:\"value\";b:1;}s:3:\"msg\";a:2:{s:4:\"name\";s:15:\"ご注意事項\";s:5:\"value\";s:388:\"株式会社ネットxxxションズより、商品とは別に郵送されます。\n主要コンビニ・銀行・郵便局でお支払いできますので、商品の到着を確認してから、\nお支払いをお願いいたします。\nNP後払いの詳しいご案内はこちら⇒ <a href=\'http://np-someurl.jp/about/\' target=\'_blank\'>http://np-someurl.jp/about/</a>\n\";}}',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL
);
错误讯息:
Error : ERROR: syntax error at or near "http"
LINE 1: ...ます。\nNP後払いの詳しいご案内はこちら⇒ <a href=\'http://np-...
^
试过http:\/\/np-...
没有运气。
++++++++
除了$$(带有http的字符串)$$之外还有其他方式,因为我有近20万个INSERT,其中只有一些有http://,我只想修改“http://”替换通过vim或类似的东西,而不是手动。
答案 0 :(得分:2)
您不显示整个命令。我的猜测是没有正确逃脱。使用美元引用$$
而不是单引号,因此不必转义字符串中的单引号。还可以使用转义字符串E
语法来生成新行\n
E$$a:2:{s:5:"title";a:2:{s:4:"name";s:32:"NP後払いでのお支払情報";s:5:"value";b:1;}s:3:"msg";a:2:{s:4:"name";s:15:"ご注意事項";s:5:"value";s:388:"株式会社ネットxxxションズより、商品とは別に郵送されます。\n主要コンビニ・銀行・郵便局でお支払いできますので、商品の到着を確認してから、\nお支払いをお願いいたします。\nNP後払いの詳しいご案内はこちら⇒ <a href='http://np-someurl.jp/about/' target='_blank'>http://np-someurl.jp/about/</a>\n";}}$$,
http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS
答案 1 :(得分:0)
将\'
更改为"
&amp; \"
到"
完成了这个伎俩。
VIM
:%s/\\'/"/gc
:%s/\\"/"/gc