Tôi có một bảng với các cột sau trong cơ sở dữ liệu MySQL
[id, url]
Và các URL giống như:
//domain1.example/images/img1.jpg
Tôi muốn cập nhật tất cả các URL sang miền khác
//domain2.example/otherfolder/img1.jpg
Giữ tên của tệp như là.
Tôi phải chạy truy vấn là gì?
hỏi ngày 16 tháng 4 năm 2012 lúc 15:36Apr 16, 2012 at 15:36
1
UPDATE urls
SET url = REPLACE[url, 'domain1.example/images/', 'domain2.example/otherfolder/']
Đã trả lời ngày 16 tháng 4 năm 2012 lúc 15:39Apr 16, 2012 at 15:39
5
Thử sử dụng chức năng thay thế:
mysql> SELECT REPLACE['www.example.com', 'w', 'Ww'];
-> 'WwWwWw.example.com'
Lưu ý rằng đó là trường hợp nhạy cảm.
Đã trả lời ngày 16 tháng 4 năm 2012 lúc 15:40Apr 16, 2012 at 15:40
Schellackschellackschellack
Huy hiệu vàng 10k11 gold badge28 silver badges32 bronze badges
1
Thử cái này...
update [table_name] set [field_name] =
replace[[field_name],'[string_to_find]','[string_to_replace]'];
Stephen Rauch ♦♦
46.1K31 Huy hiệu vàng107 Huy hiệu bạc127 Huy hiệu đồng31 gold badges107 silver badges127 bronze badges
Đã trả lời ngày 11 tháng 7 năm 2018 lúc 1:52Jul 11, 2018 at 1:52
Manimaran Amanimaran aManiMaran A
2793 Huy hiệu bạc6 Huy hiệu Đồng3 silver badges6 bronze badges
Bạn cần mệnh đề WHERE để chỉ thay thế các hồ sơ tuân thủ điều kiện trong mệnh đề WHERE [trái ngược với tất cả các bản ghi]. Bạn sử dụng % dấu để chỉ ra chuỗi một phần: tức là.WHERE clause to replace ONLY the records that complies with the condition in the WHERE clause [as opposed to all records]. You use % sign to indicate partial string: I.E.
LIKE ['...//example.com/images/%'];
có nghĩa là tất cả các hồ sơ bắt đầu bằng
//domain1.example/images/img1.jpg
3 và có bất cứ điều gì sau [đó là //domain1.example/images/img1.jpg
4 cho ...]BEGIN with //domain1.example/images/img1.jpg
3 and have anything AFTER [that's the //domain1.example/images/img1.jpg
4 for...]Một vi dụ khac:
LIKE ['%//example.com/images/%']
có nghĩa là tất cả các bản ghi có chứa
//domain1.example/images/img1.jpg
5Trong bất kỳ phần nào của chuỗi ...
Đã trả lời ngày 24 tháng 11 năm 2014 lúc 23:27Nov 24, 2014 at 23:27
Đầu tiên, phải kiểm tra
SELECT * FROM `university` WHERE course_name LIKE '%&%'
Tiếp theo, phải cập nhật
UPDATE university
SET course_name = REPLACE[course_name, '&', '&'] WHERE id = 1
Kết quả: Kỹ thuật & Công nghệ AMP => Kỹ thuật & Công nghệ Engineering & Technology => Engineering & Technology
Đã trả lời ngày 24 tháng 9 năm 2019 lúc 6:27Sep 24, 2019 at 6:27
Tóm tắt: Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng hàm thay thế MySQL để thay thế một chuỗi con bằng một chuỗi khác.: in this tutorial, we will show you how to use MySQL REPLACE string function to replace a substring by another in a string.
Giới thiệu về Hàm Chuỗi thay thế MySQL
MySQL cung cấp cho bạn một chức năng chuỗi hữu ích có tên là ____ 16 & nbsp; rằng & nbsp; cho phép bạn thay thế một chuỗi trong một cột của một bảng bằng một chuỗi mới.
Cú pháp của hàm
//domain1.example/images/img1.jpg
6 như sau: //domain1.example/images/img1.jpg
0Hàm
//domain1.example/images/img1.jpg
6 có ba tham số. Nó & nbsp; thay thế //domain1.example/images/img1.jpg
9 bằng //domain2.example/otherfolder/img1.jpg
0 trong & nbsp; ________ 21Thông báo Có một tuyên bố còn được gọi là thay thế được sử dụng để chèn hoặc cập nhật dữ liệu. Bạn không nên & nbsp; nhầm lẫn câu lệnh
//domain1.example/images/img1.jpg
6 với hàm chuỗi //domain1.example/images/img1.jpg
6.Hàm
//domain1.example/images/img1.jpg
6 rất tiện dụng để tìm kiếm và thay thế văn bản trong bảng & nbsp; chẳng hạn như cập nhật URL lỗi thời, sửa lỗi chính tả, v.v.Cú pháp sử dụng hàm
//domain1.example/images/img1.jpg
6 trong câu lệnh Update như sau: //domain1.example/images/img1.jpg
1Lưu ý rằng khi tìm kiếm văn bản để thay thế, MySQL sử dụng kết quả phù hợp với trường hợp để thực hiện tìm kiếm một chuỗi sẽ được thay thế.
Ví dụ: nếu bạn muốn sửa lỗi chính tả trong bảng
//domain2.example/otherfolder/img1.jpg
6 trong cơ sở dữ liệu mẫu, bạn sẽ sử dụng hàm //domain1.example/images/img1.jpg
6 như sau: //domain1.example/images/img1.jpg
2Truy vấn tìm thấy tất cả các lần xuất hiện của một lỗi chính tả
//domain2.example/otherfolder/img1.jpg
8 và thay thế nó bằng từ chính xác về in & nbsp; cột //domain2.example/otherfolder/img1.jpg
9 của bảng ________ 26 & nbsp;Điều rất quan trọng cần lưu ý là trong hàm
//domain1.example/images/img1.jpg
6, tham số đầu tiên là tên cột & nbsp; không có trích dẫn [Hồi]. Nếu bạn đặt các trích dẫn vào tên trường như là Field Field_Name, truy vấn sẽ cập nhật nội dung của cột đó lên Field Field_Name, điều này gây ra mất dữ liệu bất ngờ.Hàm
//domain1.example/images/img1.jpg
6 không hỗ trợ biểu thức chính quy, vì vậy nếu bạn cần thay thế chuỗi văn bản bằng một mẫu bạn cần sử dụng hàm do người dùng [UDF] của MySQL định nghĩa từ thư viện bên ngoài, hãy kiểm tra nó ở đây MySQL UDF với Regex
Hướng dẫn này có hữu ích không?