我有一个名为 cartypes 的表,当前有 2 个字段:id 和 type。我正在添加子类型,我想将破折号 -
之后的内容从名为 type 的字段中移动,并将这些内容放入子类型中。处理破折号(就此而言,也包括任何额外的空格)。对此最好的 SQL 查询是什么?
之前:
id type subtype (currently empty)
------------------------------------------------------------------------------
1 legendary muscle car - steel
2 crappy sedan - plasticky interior
3 legendary sports car - aluminum bodywork
4 compact car
之后:
id type subtype
---------------------------------------------------------------
1 legendary muscle car steel
2 crappy sedan plasticky interior
3 legendary sports car aluminum bodywork
4 compact car
最佳答案
UPDATE table
SET subtype = TRIM(SUBSTRING(type, LOCATE('-', type) + 1)),
type = TRIM(SUBSTRING(type, 1, LOCATE('-', type) - 1))
WHERE type LIKE '%-%';
关于MySQL - 查询将 1 个字段的部分内容移动到新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1633354/