2013-09-29 7 views
5

SQLテーブルの1列を更新したいとします。例:列の現在の値がこのSQL列にテキストを追加するには

2013/09/pizzalover.jpg 
2013/10/pasta.jpg  

のようである今、私はこのような列全体を更新する:www.mypizza.com/2013/09/pizzalover.jpg は、私はこれを達成することができます方法はありますか?これは、アプリケーション環境の残りの部分に応じて、

SELECT 'www.mypizza.com/' + ColumnName AS ColumnName FROM TableName 

を?:ように事前

+0

*** SQL ***は単なる*構造化クエリ言語* - 多くのデータベースシステムで使用される言語ですが、データベース製品ではありません...多くのものはベンダー固有です - あなたは本当に**データベースシステム**(そしてどのバージョン)を使用しているかを知る必要があります(それに応じてタグを更新してください).... –

+1

更新セット = 'www.mypizza.com/' + ? –

+2

どのDBMSを使用していますか? –

答えて

4

あなたは、単にあなたがMySQLを使用している場合は、としてconcat()を使用することができ声明

update TableName set ColumnName = 'www.mypizza.com/' + ColumnName 
1

にあなたは意味のおかげで、これを達成するためのより良い多くの方法がありそうです。しかし、SQLを使用してSELECT文の列に静的テキストを追加するだけでは、その文を直接連結することができます。基礎となるデータを変更するだけではなく変更になる

UPDATE TableName SET ColumnName = 'www.mypizza.com/' + ColumnName 

同じ原理、ちょうどSELECTの代わりにUPDATEを使用して、:あなたはUPDATEに列の値、このような何かをしたかった場合

あるいは、データのビュー

+0

これは非標準SQLです。標準SQLの連結演算子は '+'ではなく '||'です( '+'は数字を追加するためのものです) –

1

第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 
?> 

そして、updatあなたのデータベースは普通のようです:

$updateq = "UPDATE `blog-posts` SET `title` = '$title' WHERE `id` = 11";