স্ট্রিংয়ের অংশটি প্রতিস্থাপন করে একটি কলাম মান আপডেট করুন


325

আমার একটি মাইএসকিউএল ডাটাবেসে নিম্নলিখিত কলামগুলি সহ একটি টেবিল আছে

[id, url]

এবং ইউআরএলগুলি হ'ল:

 http://domain1.com/images/img1.jpg

আমি সমস্ত ইউআরএল অন্য ডোমেনে আপডেট করতে চাই

 http://domain2.com/otherfolder/img1.jpg

ফাইলের নাম যেমন রাখা হয়

আমার জিজ্ঞাসা কি চালাতে হবে?


উত্তর:



162
UPDATE yourtable
SET url = REPLACE(url, 'http://domain1.com/images/', 'http://domain2.com/otherfolder/')
WHERE url LIKE ('http://domain1.com/images/%');

প্রাসঙ্গিক ডক্স: http://dev.mysql.com/doc/refman/5.5/en/string-funifications.html#function_replace


13
হাই, আমি কেন দরকার?
গাই কোহেন

14
@ গুয়াহোহেন কারণ অন্যথায় ক্যোরিটি টেবিলের প্রতিটি একক সারিতে পরিবর্তন করবে mod WHEREদফা ক্যোয়ারী শুধুমাত্র নির্দিষ্ট URL সহ সারি সংশোধন করতে অপ্টিমাইজ করে। যৌক্তিকভাবে, ফলাফলটি একই হবে, তবে সংযোজন WHEREঅপারেশনটিকে আরও দ্রুততর করবে।
Dmytro শেভচেনকো

3
WHEREএছাড়াও নিশ্চিত করে যে আপনি শুধুমাত্র স্ট্রিং যে অংশগুলি প্রতিস্থাপন করছেন শুরু সঙ্গে http://etc/etc/বা string_to_be_replaced.উদাহরণস্বরূপ, প্রদত্ত উত্তরে http://domain1.com/images/this/is/a/testপ্রভাবিত হতে পারে, কিন্তু foobar/http://domain1.com/images/হবে না।
কাইল চেলিস


9

আপনার যা দরকার তা কোথায় প্রতিস্থাপন দফা কেবলমাত্র রেকর্ডগুলি WHERE বাক্যাংশ মধ্যে শর্ত মেনে চলে (যেমন সকল রেকর্ড উল্টোদিকে)। আংশিক স্ট্রিং নির্দেশ করতে আপনি % চিহ্ন ব্যবহার করেন : আইই

LIKE ('...//domain1.com/images/%');

এর অর্থ সমস্ত রেকর্ড যার সাথে শুরু হয়েছিল "...//domain1.com/images/"এবং তারপরে কিছু আছে (এটিই এর %জন্য ...)

আরেকটি উদাহরণ:

LIKE ('%http://domain1.com/images/%')

যার অর্থ সমস্ত রেকর্ড রয়েছে "http://domain1.com/images/"

স্ট্রিংয়ের যে কোনও অংশে ...



1

প্রথমে চেক করতে হবে

universityকোথাও কোর্স থেকে নাম নির্বাচন করুন_নাম '% & amp%' পছন্দ করুন

পরবর্তী, আপডেট করতে হবে

বিশ্ববিদ্যালয় SET কোর্স_নাম = রিপ্লেস আপডেট করুন (কোর্স_নাম, '& amp', 'এবং') কোথায় আইডি = 1

ফলাফল: ইঞ্জিনিয়ারিং ও অ্যাম্প টেকনোলজি => প্রকৌশল ও প্রযুক্তি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.