gpt4 book ai didi

php - 如何使用 CSV(平面文件)更新 MySQL 数据库并在插入前验证数据

转载 作者:行者123 更新时间:2023-11-29 03:45:28 25 4
gpt4 key购买 nike

我有大约 40K 条记录需要每天更新到我的 php/mysql 应用程序中。推荐的最佳方法是什么?

我对加载文件中的数据进行了一些研究,以将平面文件加载到临时 MySQL 表中,并对整个列运行验证,而不是一次一行地执行验证。稍后使用主键并在数据库中插入/更新它。

但是对于具有MultiSelect选项或多个有效值的数据?在数据库中更新它们之前,我如何验证它们。

选项使用管道分隔。

例如一个多选数据是Color类型有效值为红色的绿色的蓝色的棕色的黑色的白色

原始值示例案例场景是

案例一需要验证的原始数据红|绿|黄

如何在临时表中验证此数据,以便红色和绿色通过验证并去除黄色并进入错误日志?

如何在包含 40K 多条记录的 csv/tabdelimited 平面文件中批量执行上述验证?

最佳答案

我喜欢您评估列而不是逐行评估的方法,在我看来,这会提升您的性能。

为了增加您的想法,为什么不创建一个函数来验证特定的列。对于具有多个正确值的列,您只需将检查语句放入 switch 语句或该函数内部的其他内容中。

例子:

//Example function validates a field that contains an integer value
function validateField1($x)
{

//if necessary you could parse apart the value before "switching" it.

if(isset($x))
{
switch($x)
{
case 1: //integer 1 is a valid value
return true;
case 3: //integer 3 is a valid value
return true;
default://for all other values return false
return false;
}
}
}

这样您就可以根据具体情况评估字段。除此之外,如果您的验证函数返回假值,您可以在将 .csv 文件上传到数据库之前以编程方式编辑它。

我不知道这是否适合您,但请告诉我们结果如何!

问候,

H

关于php - 如何使用 CSV(平面文件)更新 MySQL 数据库并在插入前验证数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6377012/

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