0

我们会不时地在以竖线分隔的文本文件中获得一份新的数据副本。我必须刷新表,或者换句话说,用新生成的副本 (output.txt) 替换现有副本。

任何想法都受到高度赞赏。谢谢..

TRUNCATE Table elements;

LOAD DATA INFILE '/data/out.txt' IGNORE INTO TABLE elements FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n' (ID, Title, date, time);
4

1 回答 1

1

我同意需要更多信息来回答您的问题。据我了解,您需要清空数据库表并使用收到的文本文件中的信息重新加载它,这听起来像是使用管道而不是逗号的 CSV 文件。我有这个权利吗?

所以你需要...

第 1 步 - 从文本文件中获取您的信息。 您可以尝试使用 fgetcsv() 之类的方法(将分隔符设置为 '|'),或者您可以只使用 fgets() 并使用 explode() 将数据放入数组中。

第 2 步 - 将数据插入到您的数据库表中 循环遍历您的数据,直到您将所有数据都放入其中。如果一切顺利,那么...

第 3 步 - 删除旧数据 先清空数据库然后添加数据似乎更容易。你可以这样做,但如果新数据出现问题,那又如何呢?现在你被一个空的数据库表困住了,直到你修复它。这取决于它的用途,这可能是不可取的。

于 2010-03-22T17:20:12.273 回答