السلام عليكم
في دورة الاستاذ محمد عيسى للبايثون واجهتني مشكلة في الدرس 120 عندما اقوم بكتابة الكود الذي قام بكتابته لا يريد ان يقوم بالكتابة في الmysql
هذا هو الكود :
import MySQLdb
db = MySQLdb.connect("localhost","mahmod","123","mahmod")
cursor = db.cursor()
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
LAST_NAME, AGE, SEX, INCOME)
VALUES ('MAHMOD', 'ABDALKAREEM', 22, 'M', 2000)"""
try:
cursor.execute(sql)
db.commit()
except:
db.rollback()
db.close()
ونفس الامر يحدث في الدرس الذي يليه
ما هي المشكلة؟؟؟
شيفرتك تبدو صحيحة وكذا شيفرة الـSQL؛ على الأغلب هنالك خطأ في المصادفة، شيفرتك لن تظهر الخطأ بسبب العبارة try وexcept؛ احذفهما أو عدلها كهاته ليظهر الخطأ:
try:
cursor.execute(sql)
db.commit()
except MySQLdb.Error:
db.rollback()
db.close()
raise
انا اقوم بتنفيذ الكود من خلال برنامج الpycharm ويظهر لي هذه الخطأ
C:\Python27\python.exe C:/Users/karemo/PycharmProjects/dbs/insert.py
Traceback (most recent call last):
File "C:/Users/karemo/PycharmProjects/dbs/insert.py", line 9, in
cursor.execute(sql)
File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 174, in execute self.errorhandler(self, exc, value) File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1054, "Unknown column 'FIRST_NAME' in 'field list'")
خطاء في قاعدة البيانات لايوجد الحقل FIRST_NAME ! .. تاكد من اضافه الحقل FIRST_NAME في جدول EMPLOYEE !
لقد تأكد منه وعندما قمت بتنفيذ الكود هذا ما ظهر
line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, 'You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near \'"INSERT INTO EMPLOYEE(FRIST_NAME,\n LAST_NAME, AGE, SEX, INCOME)\n \' at line 1')
التعليقات