如何将所有列的数据组合为单个列作为XML文档

时间:2012-01-03 13:11:54

标签: php mysqli innodb

在一本MySQL书中,我遇到了一个部分:

  

如果单个表中有很多长列,最好将它们存储的数据合并到一个列中,可能作为XML文档。这使得所有值共享外部存储,而不是使用自己的页面。

我实际上有6个TEXT列如下:

question TEXT NOT NULL,  
option1  TEXT NOT NULL,  
option2  TEXT NOT NULL,  
option3  TEXT NOT NULL,  
option4  TEXT NOT NULL,  
answer   TEXT NOT NULL

我希望在InnoDB表中防止这种情况发生(每列都有自己的页面)。我该怎么做呢? 任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:1)

  1. 创建新列
  2. 运行一个脚本,将6列的数据输入XML(见下文)并用它填充新列。

    <?xml version="1.0" encoding="utf-8" ?>
    <newColumnName>
      <question>
         <![CDATA[Insert value of column question here]]>
      </question>
      <option1>
         <![CDATA[Insert value of column option1 here]]>
      </option1>
      <option2>
         <![CDATA[Insert value of column option2 here]]>
      </option2>
      <option3>
         <![CDATA[Insert value of column option3 here]]>
      </option3>
      <option4>
         <![CDATA[Insert value of column option4 here]]>
      </option4>
      <answer>
         <![CDATA[Insert value of column answer here]]>
      </answer>
    </newColumnName>
    
  3. 更改每个Databaserequest并解析XML以获取数据