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

Jay*_*Jay 4 mysql database phpmyadmin

我有一个名为"city"的表,其名称为"city_name",大约有200条记录.

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

我怎样才能通过phpmyadmin实现这一目标.

谢谢

Joh*_*ker 12

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

UPDATE city SET slugs=LOWER(REPLACE(city_name, " ", "-"))
Run Code Online (Sandbox Code Playgroud)

打破这一点,我们使用REPLACE在现有city_name列中交换""与" - "的所有实例,然后将结果传递给LOWER函数(将数据转换为小写),然后slugs使用此值设置字段.

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

UPDATE city SET slugs=LOWER(REPLACE(TRIM(city_name), " ", "-"))
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果你没有使用(我的)SQL,我建议阅读字符串函数手册页 - 你现在花在这上面的时间将来不仅仅会回报.