使用其他列中的值在mySQL中创建新列

时间:2014-10-09 13:15:59

标签: mysql sql

我的数据库中有两列我想要组合成一个新的第三列。第一列是公司名称,第二列是公司网站的URL。

我想创建一个新列,这是一个超链接到网站的公司名称:

<a href="http://companywebsite.com>Company Name</a>

有没有一种简单的方法可以做到这一点?我对mySQL非常陌生,无法弄清楚我是怎么做的。

奖励积分,提出了一种方法,当我添加一个带有公司名称和URL的新条目时,它会自动为这个新的超链接列生成一个值。

感谢。

3 个答案:

答案 0 :(得分:2)

正如Polvonjon所写,请使用CONCAT:

SELECT brief_description, CONCAT('<a href="', link, '">', innovation_name, '</a>') FROM inno_db

顺便说一下 - inno_db是数据库中表格的奇怪名称;它是MySQL的一种特殊类型的存储引擎。你不认为&#34;公司&#34;是一个更好的名字?

创建新列是一个坏主意 - 您必须更新它,并且您需要重复数据,这会导致长期的错误。理想情况下,您使用查询来填充WP屏幕。

如果您不能这样做,正如评论所建议的那样,您可以创建一个视图,您可以从中直接选择:

create view WPPlugin
as

select brief_description, 
CONCAT('<a href="', link, '">', innovation_name, '</a>') 
FROM inno_db

在插入代码中,然后执行select * from WPPlugin

答案 1 :(得分:0)

尝试使用CONCAT功能:

SELECT company, url, CONCAT('<a href="', url, '">', company, '</a>') FROM companies

但我不建议使用这个获取锚标记的样本。 尝试在MVC应用程序中使用VIEW元素。

答案 2 :(得分:0)

假设您有一个包含三列的表     CREATE TABLE mytable(       company_name文本     ,网址文字     ,超链接文本     )

然后,您需要根据需要更新第三列(超链接)的值,例如:

UPDATE mytable
SET    hyperlink = '<a href="http://' || url || '>' || company_name || '</a>';