0

したがって、SQLにはいくつかのテーブルがあり、その内容には、数字(この場合は1〜5)を含む「hashtag_id」というキーがあります。さっそく入って、IDが「1」のすべてのアイテムを「5」に変更したい。

これを自動的に行う方法はありますか?

4

3 に答える 3

2
update table set hashtag_id = 5
where hashtag_id = 1;

複数のテーブルがある場合は、phpmyadmin(または任意のmysql管理ツール)でそのようなことを行うことができます

これにより、information_schema.columnsテーブル(すべてのテーブルと列を記述)がクエリされ、hashtag_id)という名前のすべての列に対して更新クエリが書き込まれます。

SELECT CONCAT('UPDATE ', 
               table_name, 
               ' SET ',
               column_name,
               ' = 5 WHERE ',
               column_name,
               ' = 1;' 
             )
FROM information_schema.columns
WHERE column_name = 'hashtag_id';
--maybe add  AND table_schema = <your_schema>

結果をコピーして実行します

これは、動的SQLを使用するストアドプロシージャでも実行できる可能性があります(MySQLでは使用されていないため、例はありません)。

于 2012-10-09T12:46:36.030 に答える
1

テーブルごとに、次のクエリを実行する必要があります。

UPDATE yourtable
SET hashtag_id = 5
WHERE hashtag_id = 1 

これにより、が1であるすべての行が検索hashtag_idされ、5に設定されます。


すべてのテーブルの名前を取得するには、次のクエリを実行できます。

SELECT table_name
FROM information_schema.columns
WHERE table_schema = 'your_schema'
AND column_name = 'hashtag_id'
于 2012-10-09T12:46:59.837 に答える
0
UPDATE MyTable
SET hashtag_id=5
WHERE hashtag_id=1;
于 2012-10-09T12:47:33.083 に答える