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

फ़ील्ड में 1 जोड़ें

मैं इसके लिए निराश हो जाता हूँ?

$sql = "UPDATE skills SET level = level+1 WHERE id = $id";
$result = $db->sql_query($sql);
$db->sql_freeresult($result);

Teifion के विशिष्ट मामले में, phpBB DDL उस विशेष फ़ील्ड को NOT NULL के रूप में सूचीबद्ध करता है, इसलिए NULL के बढ़ने का कोई खतरा नहीं है।

सामान्य स्थिति में, आपको शून्य का प्रतिनिधित्व करने के लिए NULL का उपयोग नहीं करना चाहिए। NULL को बढ़ाना चाहिए NULL का उत्तर दें। यदि आप उस तरह के पथभ्रष्ट डेवलपर हैं जो NULL=0 सोचते हैं, तो कीबोर्ड से दूर कदम रखें और एक और शगल खोजें, आप बस हममें से बाकी लोगों के लिए जीवन कठिन बना रहे हैं। बेशक, यह कंप्यूटर उद्योग है और आप गलत कहने वाले हम कौन होते हैं? यदि आप गलत नहीं हैं, तो उपयोग करें

$sql = "UPDATE skills SET level = COALESCE(level,0)+1 WHERE id = $id";

...लेकिन इसका सामना करते हैं:आप गलत हैं। अगर हर कोई लेवल 0 से शुरू करता है, तो आपके डीडीएल में शामिल होना चाहिए

level INT DEFAULT '0' NOT NULL

यदि प्रोग्रामर रिकॉर्ड बनाते समय इसे सेट करना भूल जाते हैं। यदि हर कोई स्तर 0 पर शुरू नहीं करता है, तो डिफ़ॉल्ट को छोड़ दें और प्रोग्रामर को सृजन पर एक मूल्य की आपूर्ति करने के लिए मजबूर करें। यदि कुछ लोग स्तरों से परे हैं, जिनके लिए एक स्तर होना एक अर्थहीन बात है, तो एक को अपने स्तर पर समान रूप से जोड़ने का कोई मतलब नहीं है। उस स्थिति में, डीडीएल से NOT NULL को हटा दें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या आप SQL में शाब्दिक तालिकाओं को परिभाषित कर सकते हैं?

  2. हाइबरनेट/जेडीबीसी/माईएसक्यूएल एक या दो दिन बाद कनेक्शन क्यों छोड़ देता है?

  3. वर्चुअलएन्व जो स्थानांतरित पुस्तकालय ढूंढ सकता है (जैसे MySQLdb के लिए mysqlclient lib)

  4. जटिल क्वेरी + पेजिनेशन स्क्रिप्ट

  5. यह एसक्यूएल क्वेरी फ़्लोटिंग पॉइंट नंबरों की तुलना में कोई परिणाम क्यों नहीं लौटाती है?