使用SELECT语句更新多表将导致:目标表不可更新

时间:2019-01-26 05:58:30

标签: mysql mariadb

尝试使用SELECT语句和mysql扩展来更新表,导致“目标表不可更新”。

有一个包含20多个网址的Wordpress多站点。每次我在本地主机上进行最新安装时,都需要更改数据库中的upload_path。因为我不想一一列出所有表,所以我使用了以下SELECT语句:

UPDATE (SELECT TABLE_NAME
        FROM INFORMATION_SCHEMA.TABLES
        WHERE TABLE_SCHEMA ='mydatabase' AND TABLE_NAME LIKE 'wp\__\_options') AS T
    SET `T`.`option_value` ='/....../wp-content/uploads/'
    WHERE `T`.`option_name` = 'upload_path';

选择语句给我:

+--------------+
| TABLE_NAME   |
+--------------+
| wp_2_options |
| wp_3_options |
| wp_5_options |
| wp_6_options |
| ...          |
| ...          |
+--------------+

但是完整的代码导致: [HY000] [1288] UPDATE的目标表T无法更新

0 个答案:

没有答案