SQL テーブルの 1 列を更新したい。例: 列の現在の値は次のようになります
2013/09/pizzalover.jpg
2013/10/pasta.jpg
コラム全体を次のように更新したいと思います: www.mypizza.com/2013/09/pizzalover.jpg これを達成する方法はありますか? 前もって感謝します
SQL テーブルの 1 列を更新したい。例: 列の現在の値は次のようになります
2013/09/pizzalover.jpg
2013/10/pasta.jpg
コラム全体を次のように更新したいと思います: www.mypizza.com/2013/09/pizzalover.jpg これを達成する方法はありますか? 前もって感謝します
ステートメントを使用して列を簡単に更新できます
update TableName set ColumnName = 'www.mypizza.com/' + ColumnName
MYSql を使用している場合は、concat()
asを使用できます。
update tableName set columnName= CONCAT('www.mypizza.com/', columnName);
Oracle を使用している場合は、連結演算子 '||'を使用できます。なので :
update tableName set "columnName"='www.mypizza.com/'||"columnName";
+
SQL Server では、文字列連結に次のように使用できます。
update tableName set name='www.mypizza.com/'+columnName;
このような意味ですか?:
SELECT 'www.mypizza.com/' + ColumnName AS ColumnName FROM TableName
アプリケーション環境の残りの部分によっては、これを達成するためのより良い方法がある可能性があります。ただし、SQL を使用して SELECT ステートメントの列に静的テキストを追加するという点では、ステートメント内で直接テキストを連結することができます。
または、列の値を更新する場合は、次のようにします。
UPDATE TableName SET ColumnName = 'www.mypizza.com/' + ColumnName
データのビューを変更するだけでなく、基になるデータを変更する のUPDATE
代わりにを使用するだけで同じ原則。SELECT
最初にデータベースに保存されている情報を取得してから編集します。次のように実行できます。
<?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";
OPは、使用しているDBMSを指定していません。以下は、Postgres がプレフィックスを追加してテキスト列を更新する場合です (PostgreSQL v11 でテスト済み)。
UPDATE my_table
SET column_1 = 'start_text_' || column_1
WHERE column_1 LIKE 'prefix_%'
;