このクエリがありますが、手動で変更するのではなく、見つかったすべてのfield_nameの文字列を変更したいと思います。どうすればこれを行うことができますか?
update TABLE_NAME
set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’);
このクエリがありますが、手動で変更するのではなく、見つかったすべてのfield_nameの文字列を変更したいと思います。どうすればこれを行うことができますか?
update TABLE_NAME
set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’);
次に、すべてのフィールド名を指定する必要があります。例
UPDATE tableName
SET field1 = REPLACE(field1, 'oldstring', 'newstring'),
field2 = REPLACE(field2, 'oldstring', 'newstring'),
field3 = REPLACE(field3, 'oldstring', 'newstring'),
fieldN = REPLACE(fieldN, 'oldstring', 'newstring')
information_schema.columns
各列のクエリを作成するために使用できます
SELECT CONCAT( 'Update table ', table_name,
' set ', column_name, ' = replace(',column_name,', \‘find this string\’, \‘replace found string with this string\’); ')
FROM information_schema.columns
WHERE table_name = '<TableName>'`
これにより、テーブル内のすべての列の更新ステートメントが生成されます(列名を手動で記述する時間と労力を節約できます)。