我想在SQL表中更新1列。示例:列中的当前值如下所示
2013/09/pizzalover.jpg
2013/10/pasta.jpg
现在我想像这样更新整个专栏:www.mypizza.com/2013/09/pizzalover.jpg 有什么方法可以做到这一点吗?提前致谢
答案 0 :(得分:6)
您只需使用声明
更新列update TableName set ColumnName = 'www.mypizza.com/' + ColumnName
答案 1 :(得分:4)
如果您使用的是MYSql,则可以使用concat()
作为:
update tableName set columnName= CONCAT('www.mypizza.com/', columnName);
如果您使用的是oracle,可以使用concatenation operator '||'作为:
update tableName set "columnName"='www.mypizza.com/'||"columnName";
在SQL Server中,您可以使用+
for string concatenation作为:
update tableName set name='www.mypizza.com/'+columnName;
答案 2 :(得分:1)
你的意思是这样的?:
SELECT 'www.mypizza.com/' + ColumnName AS ColumnName FROM TableName
根据应用程序环境的其余部分,可能有很多更好的方法来实现此目的。但是就仅使用SQL将静态文本添加到SELECT语句中的列而言,您可以直接在语句中连接文本。
或者,如果您想更新列值,请执行以下操作:
UPDATE TableName SET ColumnName = 'www.mypizza.com/' + ColumnName
相同的原则,只使用UPDATE
而不是SELECT
,它将修改基础数据,而不仅仅是修改数据视图。
答案 3 :(得分:1)
首先获取存储在数据库中的信息然后进行编辑,你可以这样做:
<?php
$query = "SELECT * FROM `blog-posts` WHERE `id` = 11";
$result = mysql_query($query);
$post = mysql_fetch_array($result);
$title = $post['title'];
$title .= "aapje";
echo $title
?>
然后像平常一样更新您的数据库:
$updateq = "UPDATE `blog-posts` SET `title` = '$title' WHERE `id` = 11";
答案 4 :(得分:0)
OP没有指定他们正在使用哪个DBMS。以下是Postgres通过向其添加前缀来更新文本列的方法(已在PostgreSQL v11中进行了测试):
UPDATE my_table
SET column_1 = 'start_text_' || column_1
WHERE column_1 LIKE 'prefix_%'
;