17000行.csv文件插入数据库并进行比较

时间:2014-02-06 13:33:53

标签: php sql firebird

我有一个分号.csv与17000行像这样

SETCODE;NAME;          T;    F

THS;Cutthroat Maneuver;50226;50227

THS;Dark Betrayal;50622;50623

THS;Disciple of Phenax;50466;50467

THS;Erebos, God of the Dead;50308;50309

THS;Erebos's Emissary;50474;50475

THS;Felhide Minotaur;50332;50333

THS;Fleshmad Steed;50328;50329

在我的firebird数据库中,我需要插入50226或50227,具体取决于我的行中的true或false语句

我可以比较Name; setcode;列和一个名为premium的列,其值为true或false

我没有PHP技能,我想知道什么是最佳实践

所以我需要一些自动化

update CARDS a

set a.CARDCATID='50226'

where a.name='Cutthroat Maneuver' and a.PREMIUM='F' and a.SETCODE='THS'

or when 

set a.CARDCATID='50227'

where a.name='Cutthroat Maneuver' and a.PREMIUM='T' and a.SETCODE='THS'

次17000

任何帮助都非常适合

我最好的做法是在firerobin中这样做

哎呀有一个我忘了的代码标签,不会再发生^^

1 个答案:

答案 0 :(得分:0)

如果您使用IBExpert而不是Flamerobin,您可以使用“导入数据”工具将csv数据导入临时表,然后使用for select循环编写一个简单的过程并迭代此临时表中的行。