我想为谷歌制作站点地图。最快的方法(我认为)是使用 linux 命令将查询直接导出到 txt 文件。我是这样做的
$ mysql -pMyPassword -e "SELECT concat('http:/mysitecom/',id,'/',urlPart1,'/',urlPart2,'/') as url FROM products LIMIT 50000" > /home/file.xml
问题是谷歌说 txt 文件中只能有 url,我的第一行是“url”,这是结果列名,CSV 文件的典型名称。我怎样才能跳过它?
最佳答案
将其通过管道传输到 tail
应该可以工作
mysql -pMyPassword -e "SELECT concat('http:/mysitecom/',id,'/',urlPart1,'/',urlPart2,'/') as url FROM products LIMIT 50000" | tail -n +2 > /home/file.xml
请记住,每次更新该表时都必须执行此操作。根据您网站的实现,我认为编写查询并在诸如 domain.com/sitemap
之类的端点输出列表不会太复杂 - 您使用的是什么语言?
使用PHP
非常简单:
// do your regular database connection where $db = mysqli_connect(...);
$resource = mysqli_query($db, "SELECT concat('http:/mysitecom/',id,'/',urlPart1,'/',urlPart2,'/') as url FROM products");
while ($arr=mysqli_fetch_row($resource)){
$urls[]=$arr[0];
}
header('Content-type: text/plain');
foreach ($urls as $url){
echo $url.PHP_EOL;
}
应该可以,但还没有测试过! (特别是标题,这是我的头顶)
关于mysql - 跳过mysql中的第一行导出到linux中的.txt文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26359815/