「city_name」という名前の列を持つ「city」という名前のテーブルがあり、約 200 のレコードがあります。
slugs という名前の別の列を作成しました。ここで、同じ行の「city_name」からすべてのレコードをコピーし、スペースをダッシュと小文字に置き換えます。
phpmyadmin を介してこれを達成するにはどうすればよいですか。
ありがとう
「city_name」という名前の列を持つ「city」という名前のテーブルがあり、約 200 のレコードがあります。
slugs という名前の別の列を作成しました。ここで、同じ行の「city_name」からすべてのレコードをコピーし、スペースをダッシュと小文字に置き換えます。
phpmyadmin を介してこれを達成するにはどうすればよいですか。
ありがとう
次のクエリを使用してこれを実行できるはずです。
UPDATE city SET slugs=LOWER(REPLACE(city_name, " ", "-"))
これを分解するREPLACE
と、既存の列で " " のすべてのインスタンスを "-" に交換し、その結果を(データを小文字に変換するために) 関数city_name
に渡してから、この値でフィールドを設定しています。 .LOWER
slugs
データがどの程度「クリーン」であるかによってはcity_name
、REPLACE をそのまま適用する前に、データを TRIM (フィールドの先頭または末尾のスペースを削除するため) にすることもできます。
UPDATE city SET slugs=LOWER(REPLACE(TRIM(city_name), " ", "-"))
ちなみに、(My)SQL をあまり使用したことがない場合は、文字列関数のマニュアル ページを読むことをお勧めします。これに費やした時間は、将来的には十分に報われます。
関数LOWER(str)およびREPLACE(str,from_str,to_str) の MYSql ドキュメント
UPDATE city SET slugs = LOWER(REPLACE(city_name," ", "-"));