gpt4 book ai didi

php - 截断表中除第一个列之外的所有 MySQL 列

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

嘿伙计们,你们可以看到我有这个 PHP 脚本:

    <?php
$databasehost = "localhost";
$databasename = "";
$databasetable = "";
$databaseusername="";
$databasepassword = "";
$fieldseparator = ",";
$lineseparator = "\n";
$enclosedbyquote = '"';
$csvfile = "file.csv";

if(!file_exists($csvfile)) {
die("File not found. Make sure you specified the correct path.");
}

try {
$pdo = new PDO("mysql:host=$databasehost;dbname=$databasename",
$databaseusername, $databasepassword,
array(
PDO::MYSQL_ATTR_LOCAL_INFILE => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
)
);
} catch (PDOException $e) {
die("database connection failed: ".$e->getMessage());
}

$pdo->exec("TRUNCATE TABLE `$databasetable`");

$affectedRows = $pdo->exec("
LOAD DATA LOCAL INFILE ".$pdo->quote($csvfile)." REPLACE INTO TABLE `$databasetable`
FIELDS OPTIONALLY ENCLOSED BY ".$pdo->quote($enclosedbyquote)."
TERMINATED BY ".$pdo->quote($fieldseparator)."
LINES TERMINATED BY ".$pdo->quote($lineseparator)."
IGNORE 1 LINES");

echo "Loaded a total of $affectedRows records from this csv file.\n";

?>

现在您可以看到,这是将 csv 文件导入到我的数据库中并截断整个 SQL 表。

我的问题是如何阻止表的第一列受到导入的影响?我将使用第一列作为 ID,知道如何做到这一点吗?

谢谢

最佳答案

简单。而不是:

TRUNCATE TABLE `$databasetable`

用途:

UPDATE `$databasetable` SET colB = '', colC = '', colD = '', colE = '';

其中 colA 是您要保留的列。如果您使用 NULL 字段,请更改为:

    UPDATE `$databasetable` SET colB = NULL; #etc.

关于php - 截断表中除第一个列之外的所有 MySQL 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25954400/

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