2013-09-29 15 views
5

Desidero aggiornare 1 colonna nella tabella SQL. Esempio: Valore attuale nella colonna è come questoCome aggiungere testo alla colonna SQL

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

Ora voglio aggiornare tutta la colonna in questo modo: www.mypizza.com/2013/09/pizzalover.jpg C'è un modo posso ottenere questo risultato? Grazie in anticipo

+0

*** *** SQL è solo il linguaggio di query * Strutturato * - un linguaggio utilizzato da molti sistemi di database, ma non aa prodotto di database ... molte cose sono specifico del fornitore - quindi abbiamo davvero bisogno di sapere che cosa ** sistema di database ** (e quale versione) stai usando (aggiorna i tag di conseguenza) .... –

+1

update set = 'www.mypizza.com/' + ? –

+2

Quale DBMS stai usando? –

risposta

4

Si può semplicemente aggiornare colonna mediante dichiarazione

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

Vuoi dire come questo ?:

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

A seconda del resto della vostra ambiente applicativo, c'è probabilmente un molto modo migliore per ottenere questo risultato. Ma in termini di semplice utilizzo di SQL per aggiungere testo statico a una colonna in un'istruzione SELECT, è possibile semplicemente concatenare il testo direttamente nell'istruzione.

Oppure, se si voleva UPDATE i valori della colonna, qualcosa di simile:

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

stesso principio, solo utilizzando un UPDATE al posto di un SELECT, che modificherà i dati sottostanti invece di modificare la vista dei dati.

+0

Questo è SQL non standard. L'operatore di concatenazione in SQL standard è '||' non '+' ('+' serve per aggiungere numeri) –

3

Se si sta utilizzando MySQL, è possibile utilizzare il concat() come: oracle

update tableName set columnName= CONCAT('www.mypizza.com/', columnName); 

SQLFiddle

se si sta utilizzando è possibile utilizzare il concatenation operator '||' come:

update tableName set "columnName"='www.mypizza.com/'||"columnName"; 

SQLFiddle

In SQL Server è possibile utilizzare + for string concatenation come:

update tableName set name='www.mypizza.com/'+columnName; 

SQLFiddle

1

prima ottenere le informazioni memorizzate nel database e quindi modificarlo, si può fare in questo modo:

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

E quindi aggiornare e il database come normale:

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