स्वत: वृद्धि कॉलम के लिए एसक्यूएल अद्यतन

मैं एक परीक्षण डेटाबेस बना रहा हूँ। मेरे पास कॉलम का एक गुच्छा है और मैं संवेदनशील जानकारी को 'शुद्ध' करना चाहता हूं ताकि मैं इस पर काम कर सकूं।

id   email
1    [email protected]
2    [email protected]
#    email#@no-reply.com

basicall I want do do UPDATE table SET email = "email" + id + "@no-reply.com

मैं इसे पायथन में करने जा रहा था, लेकिन एसक्यूएल में ऐसा करने का विचार करना आसान होगा।

1
जोड़ा संपादित
विचारों: 1
ईमेल = concat ("ईमेल", table.id, "@ no-reply.com") ?
जोड़ा लेखक hjpotter92, स्रोत

3 उत्तर

आपके मामले के लिए, यह होगा:

UPDATE table
SET email = CONCAT( "email", id, "@no-reply.com" );

मैंने इसे MySQL के अपने कोड <�कोड> देर से पर इस्तेमाल किया। परिणाम यहां दिया गया है:

mysql> update late
    -> set msg = concat( id, " ", msg );
Query OK, 74397 rows affected (4.15 sec)
Rows matched: 74397  Changed: 74397  Warnings: 0
2
जोड़ा

हां, यदि आप अपडेट का उपयोग कर रहे हैं तो आपके पास पहले से ही आईडी होना चाहिए। अगर यह PHP था तो यह इस तरह दिखेगा:

$query = 'Update email set email="email'.$id.'@no-reply.com where email.id='.$id;

जहां $ query वह क्वेरी स्ट्रिंग है जिसे आप बना रहे हैं और $ id रिकॉर्ड आईडी है जिसका उपयोग आप रिकॉर्ड के संदर्भ में कर रहे हैं।

1
जोड़ा
UPDATE table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]

सिंगल-टेबल सिंटैक्स के लिए, अद्यतन कथन नामित तालिका में मौजूदा पंक्तियों के कॉलम को नए मानों के साथ अद्यतन करता है। SET खंड इंगित करता है कि कौन से कॉलम संशोधित किए जाएंगे और उन्हें क्या मान दिए जाने चाहिए। कॉलम को अपने डिफ़ॉल्ट मान पर स्पष्ट रूप से सेट करने के लिए प्रत्येक मान को अभिव्यक्ति के रूप में दिया जा सकता है, या कीवर्ड DEFAULT दिया जा सकता है। यदि दिया गया है, तो कहां खंड, उन स्थितियों को निर्दिष्ट करता है जो पहचानते हैं कि कौन सी पंक्तियां अपडेट की जाएंगी। नहीं कहां खंड के साथ, सभी पंक्तियां अपडेट की जाती हैं। यदि ऑर्डर द्वारा खंड निर्दिष्ट किया गया है, पंक्तियों को निर्दिष्ट क्रम में अद्यतन किया जाता है। LIMIT खंड पंक्तियों की संख्या पर एक सीमा रखता है जिसे अद्यतन किया जा सकता है।

0
जोड़ा