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

MySQL में डुप्लीकेट की जांच के लिए दो प्रश्नों को मिलाएं?

आपके प्रश्न में वास्तव में दो समस्याएं हैं। पहली समस्या Number . बनाना है कॉलम अद्वितीय है और दूसरा कॉलम Name को बढ़ाना है यदि कोई संख्या पहले से मौजूद है तो उसे जोड़कर।

पहला भाग

चूँकि संख्या UNIQUE है , एक UNIQUE लागू करें स्तंभ पर प्रतिबंध। यह एक PRIMARY KEY हो सकता है या एक UNIQUE KEY

यदि कॉलम में कोई KEY नहीं है और आप इसे PRIMARY बनाना चाहते हैं , यह है ALTER कथन:

ALTER TABLE TableName ADD CONSTRAINT tb_pk PRIMARY KEY (Number)

लेकिन अगर आप चाहते हैं कि यह केवल UNIQUE हो और प्राथमिक कुंजी नहीं,

ALTER TABLE TableName ADD CONSTRAINT tb_uq UNIQUE (Number)

दूसरा भाग

आप वास्तव में इसे शामिल किए बिना कर सकते हैं।

INSERT INTO TableName(Number, Name)
SELECT  124 AS Number, 
        CONCAT('Robert', COALESCE(MAX(CAST(REPLACE(Name, 'Robert', '0') AS UNSIGNED)) + 1,'')) AS Name
FROM    TableName
WHERE   Name LIKE 'Robert%'

कुछ विवरण:

जब कॉलम Number . पर दिया गया मान पहले से मौजूद है, यह एक त्रुटि देगा क्योंकि कॉलम अद्वितीय है। मैंने हटाई गई पोस्ट से यह कहते हुए एक टिप्पणी पढ़ी है:"..संख्या अद्वितीय नहीं है, लेकिन यदि यह मौजूद है, तो मैं कोई रिकॉर्ड दर्ज नहीं करना चाहता।" -- अगर आप विशिष्टता जोड़ना नहीं चाहते हैं तो इसका कोई मतलब नहीं है कॉलम पर। आपको कैसे पता चलेगा कि संख्या पहले से मौजूद है या नहीं? Number . के अस्तित्व के लिए थोड़ी जांच करना मेरे लिए थोड़ा ओवरहेड जैसा लगता है। इसलिए मेरी सबसे अच्छी सिफारिश है कि विशिष्टता को लागू किया जाए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. किसी क्वेरी को छोड़कर उपयोग करते समय त्रुटि

  2. कृपया mysql एडॉप्टर इंस्टॉल करें 'मणि इंस्टॉल एक्टिवरेकॉर्ड-mysql-adapter'

  3. MySQL में डेटाबेस के भीतर सभी टेबल्स के आकार की जांच कैसे करें

  4. PHP का उपयोग कर एक HTML पृष्ठ क्रॉल करना?

  5. php mysql pdo क्वेरी:क्वेरी परिणाम के साथ चर भरें