用短划线替换空格并复制到新列

时间:2013-08-25 09:53:11

标签: mysql database phpmyadmin

我有一个名为“city”的表,名为“city_name”的列有大约200条记录。

我创建了另一个名为slugs的列,我想在同一行中复制“city_name”中的所有记录,并用空格和小写替换空格。

我如何通过phpmyadmin实现这一目标。

由于

2 个答案:

答案 0 :(得分:12)

您应该可以通过以下查询执行此操作:

UPDATE city SET slugs=LOWER(REPLACE(city_name, " ", "-"))

打破这一点,我们使用REPLACE在现有city_name列中将所有“”与“ - ”交换,然后将结果传递给{{1}在使用此值设置LOWER字段之前,将函数(将数据转换为小写)。

根据数据的“清理”方式,您可能还需要在应用REPLACE之前对数据进行TRIM(以删除slugs字段中的任何前导或尾随空格):

city_name

顺便提一下,如果您没有使用(我的)SQL,我建议您阅读String Functions手册页 - 您现在花在这上面的时间不仅仅会在将来偿还。

答案 1 :(得分:0)

这是SQLFiddle

函数 LOWER(str)REPLACE(str,from_str,to_str)

的MYSql文档
UPDATE city SET slugs = LOWER(REPLACE(city_name," ", "-"));