使用来自其他列的值在mySQL中创建新列
我在我的数据库中有两列,我想合并以创建一个新的第三列。第一列是公司名称,第二列是公司网站的URL。使用来自其他列的值在mySQL中创建新列
我想提出一个新的列,它是超链接到网站上的公司名称:
<a href="http://companywebsite.com>Company Name</a>
有一个简单的方法去这样做呢?我对mySQL非常陌生,无法弄清楚我怎么会这么做。
奖励积分的方式,当我添加一个公司名称和URL的新条目,它会自动为这个新的超链接列产生一个值。
谢谢。
由于Polvonjon写,使用CONCAT:
SELECT brief_description, CONCAT('<a href="', link, '">', innovation_name, '</a>') FROM inno_db
顺便说一句 - inno_db
是数据库中表格的一个非常奇怪的名称;它是MySQL的一种特殊类型的存储引擎。你不觉得“公司”是一个更好的名字吗?
创建一个新列是一个坏主意 - 你必须保持它的更新,并且你正在复制数据,从而导致长期的错误。理想情况下,您使用查询来填充WP屏幕。
如果你不能做到这一点,作为意见建议,你可以创建一个视图,从中你可以做直选择:在代码插件
create view WPPlugin
as
select brief_description,
CONCAT('<a href="', link, '">', innovation_name, '</a>')
FROM inno_db
,你然后做select * from WPPlugin
。
这会生成一个SQL查询结果(我猜),但我需要它来添加此数据添加到现有列(超链接名称)。我怎么做?尝试添加UPDATE'hyperlinked_name',但没有奏效。 – jonmrich 2014-10-09 13:42:37
我跟随你的更新,这是接近的,但我需要一个其他列(描述)被包含在这个视图,我用这个插件。所以它应该是这个新创建的列和描述(表中的一个现有列)。我可以使用这两种方法创建视图吗? – jonmrich 2014-10-09 13:53:21
等等...我看到它拉动所有的列,所以这是完美的...一个问题...新列有这样的条目: Gweepi Medical 我该如何摆脱 ? – jonmrich 2014-10-09 13:55:23
尝试使用CONCAT功能:
SELECT company, url, CONCAT('<a href="', url, '">', company, '</a>') FROM companies
但我不会建议使用越来越锚标记此样本。 尝试在您的MVC应用程序中使用VIEW元素。
假设你有三列的表 CREATE TABLE MYTABLE( COMPANY_NAME文本 ,URL文本 ,超链接文本 )基于
那么你就需要更新的第三列(超链接)的值你需要什么,是这样的:
UPDATE mytable
SET hyperlink = '<a href="http://' || url || '>' || company_name || '</a>';
这只是导致0被添加到新列 – jonmrich 2014-10-09 13:29:33
我不会添加此列;它不包含任何新数据并复制现有数据 - 您是否可以在需要时或在您的客户端层中构建URL? – 2014-10-09 13:19:13
请发布架构和一些示例数据 - 应该很容易从已经存在的列中构建所需的数据,而不是明确地存储它。 – 2014-10-09 13:20:21
建议与Alex K.相同。如果您在数据库级别需要它,则可以使用视图。 – mreiterer 2014-10-09 13:23:20