从SELECT语句创建INSERT语句-不需要的选项卡(MYSQL)
我正在使用以下SELECT语句创建一组INSERT语句:从SELECT语句创建INSERT语句-不需要的选项卡(MYSQL),mysql,Mysql,我正在使用以下SELECT语句创建一组INSERT语句: SELECT 'insert into NOTE (id, value, business_key, last_timestamp) values (' , id, ',\'' , value, '\',\'', business_key, '\',\'', last_timestamp, '\');' FROM NOTES; 不幸的是,它在输出以下内容时使用了选项卡字符来分隔列(这些字符出现在字符字段的“我的列”值中,因为我用引号作
SELECT 'insert into NOTE (id, value, business_key, last_timestamp) values (' , id, ',\'' , value, '\',\'', business_key, '\',\'', last_timestamp, '\');' FROM NOTES;
不幸的是,它在输出以下内容时使用了选项卡字符来分隔列(这些字符出现在字符字段的“我的列”值中,因为我用引号作为它们的前缀和后缀):
insert into NOTE (id, value, business_key, last_timestamp) values ( 47 ,' hghffhg ',' 17-1-01-S3 ',' 2015-06-26 14:42:49 ');
insert into NOTE (id, value, business_key, last_timestamp) values ( 48 ,' 1234567890 ',' 17-1-0A-S35BR ',' 2015-06-29 15:31:57 ');
我怎样才能卸下(修剪)这些?
我已经尝试过使用TRIM来解决这个问题,但是出现了语法错误
顺便说一下,我在一个文件(notes.sql)中有一个SELECT语句,我将它传递到mysql:
mysqlSELECT 'insert into NOTE (id, value, business_key, last_timestamp) values (' , id, ',\'' , TRIM(value), '\',\'', TRIM(business_key), '\',\'', last_timestamp, '\');' FROM NOTES;
好的,我决定修改创建的输出文件 我用sed将标签替换为nothing
sed -i 's/\t//g' <FILENAME>
sed-i's/\t//g'
No的可能重复it't not a duplicate-我的值不是数据库中带制表符的列,它们是生成的输出-MYSQL制表符分隔查询输出的结果。No,这将修剪字段的内容-MYSQL正在分隔使用TAB返回的结果的组成部分,然后使用我嵌入的撇号在“TAB TAB”中形成正确的SQL插入语法结果