2011-11-25 15 views
5

का डिफ़ॉल्ट मान का चयन करने के मुझे लगता है या एक sqlquery कि डिफ़ॉल्ट मानकैसे एक क्षेत्र

का चयन करता है लिखने के लिए नहीं कर पा रहे हैं (और मुझे नहीं लगता कि मैं phpmyadmin में यह उत्पन्न कर सकते हैं मुझे कॉपी करने के लिए के लिए है)

मैं इसे चुनने के लिए जैसे कि यह एक रिकॉर्ड है, लेकिन कोई लाभ नहीं हुआ था की कोशिश की ...

$defaultValue_find = mysql_query(
     "SELECT $group FROM grouptable WHERE $group='DEFAULT'") 
     or die("Query failed:".mysql_error()); 
$defaultValue_fetch = mysql_fetch_row($defaultValue_find); 
$defaultValue = $defaultValue_fetch[0]; 
echo $defaultValue; 

उत्तर

11
"SELECT $group FROM grouptable WHERE $group=DEFAULT($group) " 

या मुझे लगता है कि बेहतर:

"SELECT DEFAULT($group) FROM grouptable LIMIT 1 " 

अपडेट - सुधार

रूप @Jeff कैरोन इशारा किया, इसके बाद के संस्करण तभी grouptable में है कम से कम 1 पंक्ति काम करेंगे। यदि आप परिणाम चाहते हैं भले ही ग्रौटेबल में कोई पंक्ति न हो, तो आप इसका उपयोग कर सकते हैं:

"SELECT DEFAULT($group) 
FROM (SELECT 1) AS dummy 
    LEFT JOIN grouptable 
    ON True 
LIMIT 1 ;" 
+0

मैंने दूसरा उपयोग किया। बहुत बहुत धन्यवाद। एक नोट, ज़ाहिर है, ('समूह') को पढ़ना चाहिए ($ समूह) - पूरी तरह से जिस तरह से मैंने सवाल तैयार किया है - वैसे भी, धन्यवाद और स्वीकार किया गया! – Gamemorize

+0

@ एडम: आप सही हैं। यदि '$ समूह' एक कॉलम है, हां। मैंने एक पल के लिए सोचा कि यह एक कॉलम का मूल्य हो सकता है, अब संपादित किया गया है। –

+3

यह केवल तभी काम करेगा जब कम से कम 1 परिणाम हो। जहां तक ​​मुझे पता है, कॉलम का डिफ़ॉल्ट मान हमेशा प्राप्त करने का एकमात्र तरीका है: COLUMN_DEFAULT को info_schema.columns से चुनें जहां TABLE_SCHEMA = 'your_database_name' और TABLE_NAME = 'your_table_name' और COLUMN_NAME = 'your_column_name'; –

संबंधित मुद्दे