gpt4 book ai didi

php - 使用 LOAD DATA LOCAL INFILE 从 CSV 添加数据库行,并为每一行添加一个唯一的字段

转载 作者:行者123 更新时间:2023-11-29 00:07:26 25 4
gpt4 key购买 nike

我创建了一个查询,它从 .csv 文件中插入数据库行,然后用随机生成的字符串填充一个字段。这是我正在使用的代码:

$sql = "LOAD DATA LOCAL INFILE '".$_FILES["file"]["tmp_name"]."'
INTO TABLE mailinglist
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\r'
(name, email)
SET unsubscribe = '".substr(sha1(mt_rand()),0,30)."'";

$db = dbConnection();

$q = $db->prepare($sql);
$q->execute();

我遇到的问题是取消订阅字段在每一行中都填充了相同的随机生成的字符串,而它应该为每个新行生成另一个字符串。我该如何修复它才能做到这一点?

最佳答案

使用内置的 UUID 让 mysql 代替 php 来完成这项工作功能:

$sql = "LOAD DATA LOCAL INFILE '".$_FILES["file"]["tmp_name"]."'
INTO TABLE mailinglist
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\r'
(name, email)
SET unsubscribe = SUBSTRING(REPLACE(UUID(),"-",""),0,30)";

或者更好的是:

        SET unsubscribe = UUID()";

关于php - 使用 LOAD DATA LOCAL INFILE 从 CSV 添加数据库行,并为每一行添加一个唯一的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26887593/

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