mysql-如何concat on load data语句?

20jt8wwn  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(226)

这个问题在这里已经有答案了

你能用mysql中的“loaddatalocalinfle”查询定义字段和值吗(2个答案)
两年前关门了。
我有这个声明。其中我需要公司字段是'stackoverflow'而不是从csv值。
上传的csv

alice,bob,support@stackoverflow.com,+3233232,companyx,appointment
alice1,bob1,support1@stackoverflow.com,+3233232,companyy,appointment

sql语句:

$sql = <<<eof
  LOAD DATA INFILE '$target_path'
   INTO TABLE sh_contact
   FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
   LINES TERMINATED BY '\n'
  (firstname,lastname,email,mobile,company,type)
eof;

编辑:

LOAD DATA INFILE '$target_path'
INTO TABLE sh_contact
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(firstname, lastname, email, mobile, company, type)
SET company = 'stackoverflow', type='blabla';
o3imoua4

o3imoua41#

将变量占位符用于 company 列,然后手动覆盖公司以使堆栈溢出:

LOAD DATA INFILE '$target_path'
INTO TABLE sh_contact
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(firstname, lastname, email, mobile, @var, type)
SET company = 'stackoverflow';

你甚至不需要使用 @var 在这种情况下。在任何情况下,您都不需要知道传入值是什么,因为您计划只覆盖它。

相关问题