MYSQL - 使用现有列中的数据添加具有默认字符串concat的新列

时间:2017-04-20 17:44:05

标签: mysql

我需要根据已经存在于我的表格列中的ROM代码,将新的URL列插入到项目表中。

我的网址需要具有以下格式 /媒体/帐篷/ {ROM} .PNG

|  rom  |          marquee_url          |
|---------------------------------------|
| abcd  | /media/marquees/abcd.png      |
| efg   | /media/marquees/efg.png       |

我非常有信心_rom

中没有NULL值

2 个答案:

答案 0 :(得分:0)

您可以在5.7中使用生成的列。

 > CREATE TABLE test_table ( rom varchar(20),   marquee_url  varchar(30) AS (concat("/media/marquees/",rom,".png")) );

 > insert into test_table (rom) values ('abcd'), ('efg');

 > select * from test_table ; 
+------+--------------------------+
| rom  | marquee_url              |
+------+--------------------------+
| abcd | /media/marquees/abcd.png |
| efg  | /media/marquees/efg.png  |
+------+--------------------------+`

有关生成列的工作原理的详细信息,请参阅此链接https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html

答案 1 :(得分:0)

concat用户marquee_url field获得结果:

INSERT INTO table_name (room, marquee_url) VALUES (value1, CONCAT( '/media/marquees/',value1))

相关问题