首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL数据库中存储歌词

在MySQL数据库中存储歌词
EN

Stack Overflow用户
提问于 2012-02-19 23:50:03
回答 2查看 2K关注 0票数 3

我想知道在mysql数据库中存储音乐“歌词”的最好方法是什么。使用的设置是什么?另外,我希望表中存储断线。

我在考虑用"|“来表示新行,用php来代替字符串。

我不知道从哪里开始,也不知道使用什么作为参数(varchar、int (我知道它不会是int)等)。

目前,我的tracks表如下所示

代码语言:javascript
复制
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 (??????)

任何想法都会很棒。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-19 23:54:48

您的歌词列应该是TEXT type,如果您的MyISAM表使用tracks引擎(这是新安装的默认设置),那么您可能应该将它存储在一个单独的tracks表中,该表与InnoDB表相关。这将使您能够对文本列执行全文搜索:

表格歌词:

代码语言:javascript
复制
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()完成的)。换句话说,如果您将文本输入到有换行符的数据库中,请不要特别对待它们。它们会工作得很好。

票数 5
EN

Stack Overflow用户

发布于 2012-02-19 23:55:45

我会选择一个TEXT列并按原样存储换行符-这在MySQL表中是完全有效的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9350629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档