2011-11-10 15 views
5

जोड़ने की अनुमति नहीं देता है यह वास्तव में एक सरल प्रक्रिया होनी चाहिए लेकिन किसी भी कारण से, मैं एक MySQL तालिका में कॉलम जोड़ने में असमर्थ हूं। यहां मेरा वाक्यविन्यास है:MySQL मुझे कॉलम

$query = "ALTER TABLE game_licenses ADD lifetime VARCHAR(255) AFTER expire_date"; 
$result = mysql_query($query); 
if (!$result) { 
    echo "it failed"; 
} 
else { 
    echo "success"; 
} 

मैंने एडीडी के बाद क्वेरी में COLUMN जोड़ने जैसे कई छोटे बदलावों की कोशिश की है। कोई MySQL त्रुटियां नहीं हैं लेकिन स्क्रिप्ट और echos "यह विफल" समाप्त होती है।

त्रुटि है:

ALTER आदेश 'webuser' उपयोगकर्ता के लिए इनकार किया @ 'स्थानीय होस्ट'

यह बदले जाने से एक मेज लॉक करने के लिए संभव है?

+4

mysql_error() क्या कहता है? –

+1

आप कैसे जानते हैं कि कोई त्रुटि नहीं है? 'mysql_error() echo; ' –

+0

मैंने es mysql_error() को जोड़ा और इसे प्राप्त किया: ALTER कमांड ने' gusus '' 'localhost' को 'game_licenses' – user1034772

उत्तर

6

आपके पास ऐसा करने के लिए विशेषाधिकार नहीं हैं।

सुनिश्चित करें कि आपके पास उस तालिका पर alter विशेषाधिकार है।

सुपर उपयोगकर्ता (रूट) निम्नलिखित निष्पादित है:

GRANT ALTER ON dbname.game_licences TO `webuser`@`localhost` 

देखें: http://dev.mysql.com/doc/refman/5.1/en/grant.html

पीएस क्या आप वाकई सामान्य उपयोगकर्ताओं को alter बयान जारी करने में सक्षम होना चाहते हैं?
बेहतर विकल्प रूट के रूप में परिवर्तन कथन जारी करने के लिए या डेटाबेस पर पूर्ण अधिकार रखने वाले व्यवस्थापक खाते को बेहतर बनाने के लिए बेहतर हो सकता है, लेकिन किसी भी अन्य डेटाबेस पर पूर्ण अधिकार नहीं है।

+0

हाँ, मैं यह करूँगा। आपकी प्रतिक्रियाओं के लिए सभी को धन्यवाद। – user1034772

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