0

ユーザーデータベースには、「?」を含むユーザー名があります。名前で終わる。ユーザー名の例: 「アレックス?」削除する代わりに、この「?」を置き換えようとしています。エントリの重複を避けるために「2」を付けます。問題は、最後に 2 があってもエントリが重複していることです。重複するエントリがなくなるまで、2 を 3、4、5、6、7、8、または 9 に自動的に変更するクエリが必要です。今まで手作業でやっていたのですが、正直200行以上は変えましたし、1000以上はあるかと思います。

いくつかのアイデア?

私が使用するクエリ:

UPDATE `userdatabase`
SET `username` = replace(`username`, "?","2")
4

1 に答える 1

0

私は詳細なmysql更新構文に精通していませんが、テーブル「ユーザーデータベース」に一意のID列がある場合、そのようなことが可能かもしれません

replace(username, "?", (select count(*) from userdatabase db where db.username = username and db.id < id))
于 2013-02-22T01:42:39.313 に答える