gpt4 book ai didi

php - 在 sql 文件的 csv 转储中替换\N

转载 作者:行者123 更新时间:2023-11-29 02:27:57 28 4
gpt4 key购买 nike

我使用以下命令以 csv 格式转储 sql 文件:$file_path = "/tmp/app_users.csv";

    $sql = "SELECT 'id','username','name','email',
'phone_number','city',
'batch_code','course_type' UNION ALL
SELECT id, username, name, email,
phone_number, city, batch_code, course_type
FROM users INTO OUTFILE '".$file_path."' ".
"FIELDS TERMINATED BY ','
ENCLOSED BY '\"'
LINES TERMINATED BY '\r\n'";

$db = Zend_Registry::get('db');
$stmt = $db->query($sql, array());

但用户表中的某些字段为空,在 csv 输出中显示为\N。我希望将其替换为字符串“NULL”。我尝试使用 str_replace,但它神秘地在每一行之后插入了一个额外的空行。

最佳答案

如果FIELDS ESCAPED BY字符为空(在您的查询中),没有字符被转义并且 NULL 输出为 NULL,而不是\N。

所以下面应该给你想要的结果:

$sql = "SELECT 'id','username','name','email',
'phone_number','city',
'batch_code','course_type' UNION ALL
SELECT id, username, name, email,
phone_number, city, batch_code, course_type
FROM users INTO OUTFILE '".$file_path."' ".
"FIELDS TERMINATED BY ','
ENCLOSED BY '\"'
ESCAPED BY ''
LINES TERMINATED BY '\r\n'";

这只是一种方法,如果您需要转义其他字符,您可能不想使用它。

关于php - 在 sql 文件的 csv 转储中替换\N,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18043715/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com