如何在MySQL中编写这种SQL?

如何在MySQL中编写这种SQL?,sql,mysql,Sql,Mysql,我想更新表选项卡中的列列,其数据如下(逗号分隔,标题为逗号): 这可能太长而无法显示,我如何更新该列,以便只剩下前10个单词?不是您问题的答案,但我建议在应用程序级别执行类似操作,而不是在数据库中 你不是在说你在用什么语言。在PHP中,这将是函数的作业。它能够智能地在正确的位置切掉琴弦 或者,是否将完整字符串存储在数据库中,并在输出时进行剪切,而不是一个选项 (在运行更新之前,请务必使用SELECT检查更新)否,这是用于开发环境的,数据混乱。请先修复您的架构。不要在数据库中存储逗号分隔的值。阅读

我想更新表
选项卡
中的列
,其数据如下(逗号分隔,标题为逗号):


这可能太长而无法显示,我如何更新该列,以便只剩下前10个单词?

不是您问题的答案,但我建议在应用程序级别执行类似操作,而不是在数据库中

你不是在说你在用什么语言。在PHP中,这将是函数的作业。它能够智能地在正确的位置切掉琴弦

或者,是否将完整字符串存储在数据库中,并在输出时进行剪切,而不是一个选项


(在运行更新之前,请务必使用SELECT检查更新)

否,这是用于开发环境的,数据混乱。请先修复您的架构。不要在数据库中存储逗号分隔的值。阅读关于标准化的内容。@Naktibalda您不知道这些值是否可以/必须标准化。它们可以是任意的字符串。@Pekka:如果它们只是字符串,就没有必要将它们作为单个单词来处理。我同意@Naktibalda,即这违反了第一范式(1NF),该范式要求标量数据类型。考虑到这个NFNF设计导致了一个问题,因为SQL语言缺少操作多值数据所需的运算符,因为它假定所有数据类型都是标量。使用正确的工具进行作业;)@有朝一日,将它们视为单个单词的要求可能表明违反了第一个规范形式(甚至是强烈的指示性),但严格来说,这并不意味着违反了第一个规范形式。语义决定范式;在这种情况下,截断数据表明,考虑它只是一个字符串的选择在语义上是正确的问题空间建模(我们知道的很少)。换句话说,是的,wamp应该检查NF,而不是它不一定意味着它是NFNF。@Unreason:你确实是对的:我不能绝对肯定,但我确实非常怀疑。很抱歉使用如此强硬的措辞,我发现它最符合一般评论风格;)
,test,oh,whatever,....,
UPDATE table
SET column = SUBSTRING_INDEX(column, ',', 11)