在一本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表中防止这种情况发生(每列都有自己的页面)。我该怎么做呢? 任何建议都将不胜感激。
答案 0 :(得分:1)
运行一个脚本,将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>
更改每个Databaserequest并解析XML以获取数据