मैं इसके लिए निराश हो जाता हूँ?
$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 को हटा दें।