Mysql 运行SQL select查询后在表中添加新列
我在phpMyAdmin界面中运行了下面的SQL查询,将3列合并到一个名为media_location的新列中,如下所示。运行查询后,我会看到与预期完全一致的结果,但返回表时,我看不到新列Mysql 运行SQL select查询后在表中添加新列,mysql,Mysql,我在phpMyAdmin界面中运行了下面的SQL查询,将3列合并到一个名为media_location的新列中,如下所示。运行查询后,我会看到与预期完全一致的结果,但返回表时,我看不到新列 SELECT CONCAT(`rel_path`,`filename`,'.', `file_extension`) as media_location FROM `ulv8_jreviews_media` SELECT语句从数据库中获取数据。它不会更改基础表结构。您所做的是连接SELECT查询输出中的值
SELECT CONCAT(`rel_path`,`filename`,'.', `file_extension`) as media_location
FROM `ulv8_jreviews_media`
SELECT语句从数据库中获取数据。它不会更改基础表结构。您所做的是连接SELECT查询输出中的值。这些更改不会保留在数据库中
要更改表结构,需要执行ALTERTABLE语句,然后用一些数据填充新列
ALTER TABLE ulv8_jreviews_media
ADD media_location varchar(255);
UPDATE ulv8_jreviews_media SET media_location = CONCAT(`rel_path`,`filename`,'.', `file_extension`);
您误解了SELECT命令。SELECT只能用于查阅数据库中的数据。此命令将永远不会在表上创建新列。您确实不需要在表上有此新列。从您的应用程序中,我想象您正在开发一个您可以运行此查询的应用程序,以获得所需的值。