2013-09-29 23 views
5

Tôi muốn cập nhật 1 cột trong Bảng SQL. Ví dụ: Giá trị hiện tại trong cột là như thế nàyLàm cách nào để thêm văn bản vào cột SQL

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

Bây giờ tôi muốn cập nhật toàn bộ cột như thế này: www.mypizza.com/2013/09/pizzalover.jpg Có cách nào tôi có thể thực hiện điều này? Cảm ơn trước

+0

*** SQL *** chỉ là * Ngôn ngữ truy vấn có cấu trúc * - ngôn ngữ được sử dụng bởi nhiều hệ cơ sở dữ liệu, chứ không phải là một sản phẩm cơ sở dữ liệu ... - vì vậy chúng tôi thực sự cần biết ** hệ thống cơ sở dữ liệu ** (và phiên bản nào) bạn đang sử dụng (vui lòng cập nhật thẻ cho phù hợp) .... –

+1

cập nhật đặt = 'www.mypizza.com/' + ? –

+2

Bạn đang sử dụng DBMS nào? –

Trả lời

4

Bạn chỉ có thể cập nhật cột bằng tuyên bố

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

Bạn có nghĩa là như thế này ?:

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

Tùy thuộc vào phần còn lại của môi trường ứng dụng của bạn, có khả năng một nhiều cách tốt hơn để thực hiện điều này. Nhưng về mặt chỉ sử dụng SQL để thêm văn bản tĩnh vào một cột trong câu lệnh SELECT, bạn có thể chỉ cần ghép nối văn bản trực tiếp trong câu lệnh.

Hoặc, nếu bạn muốn CẬP NHẬT các giá trị cột, một cái gì đó như thế này:

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

Cùng nguyên tắc, chỉ cần sử dụng một UPDATE thay vì một SELECT, mà sẽ thay đổi dữ liệu cơ bản thay vì chỉ điều chỉnh chế độ xem dữ liệu.

+0

Đó là SQL không chuẩn. Toán tử ghép nối trong SQL chuẩn là '||' không phải '+' ('+' là để thêm số) –

3

Nếu bạn đang sử dụng MySQL, bạn có thể sử dụng concat() như: oracle

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

SQLFiddle

Nếu bạn đang sử dụng bạn có thể sử dụng số concatenation operator '||' làm:

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

SQLFiddle

Trong SQL Server, bạn có thể sử dụng + for string concatenation như:

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

SQLFiddle

1

tiên nhận được thông tin lưu trữ trong cơ sở dữ liệu của bạn và sau đó chỉnh sửa nó, bạn có thể làm điều đó như thế này:

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

Và sau đó cập nhật e cơ sở dữ liệu của bạn như bình thường:

$updateq = "UPDATE `blog-posts` SET `title` = '$title' WHERE `id` = 11"; 
Các vấn đề liên quan