Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Mysql में क्रमबद्ध सरणी अपडेट कर रहा है (बिना क्रमबद्ध किए?)

यदि आप बस इस तरह से खोज और प्रतिस्थापित करते हैं, तो आप क्रमबद्ध डेटा को अनुपयोगी बना देंगे। यहां आपको क्या करना है:

$old = 'http://www.google.com';
$new = 'http://www.someplace.com';

$search = 's:' . strlen($old) .':"' . $old . '"';
$replace = 's:' . strlen($new) .':"' . $new . '"';

$query = "UPDATE config SET array=REPLACE(array, '{$search}', '{$replace}');";

$old बदलें और $new अपने वर्तमान और लक्ष्य url के साथ, स्क्रिप्ट चलाएँ और उत्पन्न $query . निष्पादित करें .

यहाँ एक शुद्ध SQL समाधान है:

SET @search := 'http://www.original.com';
SET @replace := 'http://www.target.com';
UPDATE config SET array=REPLACE(array, CONCAT('s:', LENGTH(@search), ':"', @search, '"'), CONCAT('s:', LENGTH(@replace), ':"', @replace, '"'));

ध्यान दें कि यह आपके क्रमबद्ध सरणी में खोज स्ट्रिंग की हर घटना को बदल देगा। यदि आप किसी विशिष्ट कुंजी को बदलना चाह रहे हैं, तो आपको और अधिक, विशिष्ट होना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सी # के माध्यम से ब्लॉब (mysql) में छवि जोड़ना

  2. MySQL कई पंक्तियों को हटाने से बचने के लिए ट्रिगर हटाने से पहले

  3. MySQL - एकाधिक मान अपडेट करें और WHERE IN

  4. क्या तालिका का आकार INSERT प्रदर्शन को प्रभावित करता है?

  5. एक MySQL जॉइन के साथ समस्याएँ होना जिसके लिए कई शर्तों को पूरा करने की आवश्यकता होती है