我想知道在mysql数据库中存储音乐“歌词”的最好方法是什么。使用的设置是什么?另外,我希望表中存储断线。
我在考虑用"|“来表示新行,用php来代替字符串。
我不知道从哪里开始,也不知道使用什么作为参数(varchar、int (我知道它不会是int)等)。
目前,我的tracks表如下所示
table tracks
----
id (int, 10, primary key)
albumid (foreign key to albums table)
name (varchar, 50)
override_artist (overrides album artist if not null)
playtime (int, 5)
lyric (??????)任何想法都会很棒。
发布于 2012-02-19 23:54:48
您的歌词列应该是TEXT type,如果您的MyISAM表使用tracks引擎(这是新安装的默认设置),那么您可能应该将它存储在一个单独的tracks表中,该表与InnoDB表相关。这将使您能够对文本列执行全文搜索:
表格歌词:
CREATE TABLE lyric (
lyricid INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
/* foreign key to tracks.id */
trackid INT,
lyric TEXT,
FOREIGN KEY (trackid) REFERENCES tracks (id)
) ENGINE=MyISAM;您可以简单地将歌词中的换行符存储为普通的旧换行符。您不需要在数据库中替换它们。相反,在输出到HTML时,您需要将它们转换为<br /> (在PHP语言中,这是通过nl2br()完成的)。换句话说,如果您将文本输入到有换行符的数据库中,请不要特别对待它们。它们会工作得很好。
发布于 2012-02-19 23:55:45
我会选择一个TEXT列并按原样存储换行符-这在MySQL表中是完全有效的。
https://stackoverflow.com/questions/9350629
复制相似问题