从CSV文件将数据加载到EAV表中

时间:2013-07-29 09:41:48

标签: mysql sql database entity-attribute-value

如何从MYSQL数据库中的CSV文件将数据加载到EAV表中?

我的CSV文件是这样的:

"ID",    "attr1",    "attr2",    "attr3",
"ID1",   "value1",   "value2",   "value3",

我尝试使用脚本将CSV文件更改为EAV CSV文件,但我认为这不可扩展。

2 个答案:

答案 0 :(得分:0)

您是否尝试过在PHP中使用fgetcsv函数? Manual

如果没有展示您尝试过的内容,我们就无法提供帮助。

答案 1 :(得分:0)

您应该转换通常的CSV

Max;Mustermann;Hamburg;Am Elbufer 123
Jens;Mander;Manderscheid;Eisgasse 99

进入另一个包含3个字段的CSV:

addr01=name=Mustermann
addr01=vname=Max
addr01=ort=Hamburg
addr01=str=Am Elbufer 123
addr02=name=Mander
addr02=vname=Jens
addr02=ort=Manderscheid
addr02=str=Eisgasse 99

现在,总是有3个字段:实体,属性,值。

顺便说一句,在Perl哈希哈希中,也意味着EAV:

$EAV = {
    addr01 = {
        name  => 'Mustermann',
        vname => 'Max',
        ort   => 'Hamburg',
        str   => 'Am Elbufer 123',
    },
    addr02 = {
        name  => 'Mander',
        vname => 'Jens',
        ort   => 'Manderscheid',
        str   => 'Eisgasse 99',
    },
};