データベースを介してMySQLの文字列を置き換える

問題

データベース内のすべてのテーブルで、どのようにして文字列を別の文字列に置き換えるのですか。

Replaceは彼がテーブルとカラムの名前を与えることを要求するので、それはそのようには使えません。

例:

単一行を構成する50個のテーブルで、データベース 'test'の 'string1'を 'word1'に置き換えます。

溶液

先に進む前に、必ずあなたの作品のバックアップを取ってください。

MySQLデータベースのバックアップと復元の詳細については、ここをクリックしてください。

//ccm.net/faq/2884-backup-restore-mysql-database

MySQL 5.1を使用している場合は、information_schemaデータベースを使用できます。このデータベースには、データベース内のすべてのテーブルのリストが含まれています。

その後、あなたはあなたの要求を生成するために使用することができます。

例:

 SELECT CONCAT( 'UPDATE test。'、TABLE_NAME、 'SET field1 = REPLACE(field1、 "string1"、 "string1");')INFORMATION_SCHEMA.TABLES FROM WHERE TABLE_SCHEMA = 'test'; 

- >このクエリは、クライアントに貼り付けることができるという結果をもたらします。

 test.table1 UPDATE SETフィールド1 = REPLACE(field1、 "string1"、 "string1")test.table2 UPDATE SETフィールド1 = REPLACE(field1、 "string1"、 "string1"); 
前の記事 次の記事

トップのヒント