python链接mysql出错:_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax;

本文记录了一个项目中遇到的MySQL语法错误问题及解决过程。通过排查发现是由于SQL语句中的单双引号使用不当导致,最终通过修正引号用法解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个问题发生在我做的项目中的一个内容。处理数据,然后写入mysql数据库中。

报错情况:

_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's qpopper allows remote attackers to gain root access using a long PASS command.' at line 1")

解决思路:

刚开始报错出现下面这种情况,于是我就各种百度,然后也没查不出来具体的原因。

然后我就把要产生的待处理的数据在Navicat中插入看看能否正常执行。

这不是老问题吗?单双引号的问题!!!

于是就又找到了我另外一篇博客:https://blog.youkuaiyun.com/Homewm/article/details/81665511

结果问题就解决了!!!

 

 

(.venv) PS D:\pycharm\daima\fg\login_reg> python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, login, sessions Running migrations: Traceback (most recent call last): File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\backends\utils.py", line 82, in _execute return self.cursor.execute(sql) ^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\backends\mysql\base.py", line 71, in execute return self.cursor.execute(query, args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\cursors.py", line 153, in execute result = self._query(query) ^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\cursors.py", line 322, in _query conn.query(q) File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\connections.py", line 563, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\connections.py", line 825, in _read_query_result result.read() File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\connections.py", line 1199, in read first_packet = self.connection._read_packet() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\connections.py", line 775, in _read_packet packet.raise_for_error() File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\protocol.py", line 219, in raise_for_error err.raise_mysql_exception(self._data) File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\err.py", line 150, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1") The above exception was the direct cause of the following exception: Traceback (most recent call last): File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\migrations\recorder.py", line 67, in ensure_schema editor.create_model(self.Migration) File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\backends\base\schema.py", line 307, in create_model self.execute(sql, params or None) File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\backends\base\schema.py", line 137, in execute cursor.execute(sql, params) File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\backends\utils.py", line 99, in execute return super().execute(sql, params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\backends\utils.py", line 67, in execute return self._execute_with_wrappers(sql, params, many=False, executor=self._execute) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\backends\utils.py", line 76, in _execute_with_wrappers return executor(sql, params, many, context) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\backends\utils.py", line 80, in _execute with self.db.wrap_database_errors: File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\utils.py", line 89, in __exit__ raise dj_exc_value.with_traceback(traceback) from exc_value File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\backends\utils.py", line 82, in _execute return self.cursor.execute(sql) ^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\backends\mysql\base.py", line 71, in execute return self.cursor.execute(query, args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\cursors.py", line 153, in execute result = self._query(query) ^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\cursors.py", line 322, in _query conn.query(q) File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\connections.py", line 563, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\connections.py", line 825, in _read_query_result result.read() File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\connections.py", line 1199, in read first_packet = self.connection._read_packet() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\connections.py", line 775, in _read_packet packet.raise_for_error() File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\protocol.py", line 219, in raise_for_error err.raise_mysql_exception(self._data) File "D:\pycharm\daima\fg\.venv\Lib\site-packages\pymysql\err.py", line 150, in raise_mysql_exception raise errorclass(errno, errval) django.db.utils.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1") During handling of the above exception, another exception occurred: Traceback (most recent call last): File "D:\pycharm\daima\fg\login_reg\manage.py", line 21, in <module> main() File "D:\pycharm\daima\fg\login_reg\manage.py", line 17, in main execute_from_command_line(sys.argv) File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line utility.execute() File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\core\management\__init__.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\core\management\base.py", line 323, in run_from_argv self.execute(*args, **cmd_options) File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\core\management\base.py", line 364, in execute output = self.handle(*args, **options) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\core\management\base.py", line 83, in wrapped res = handle_func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\core\management\commands\migrate.py", line 232, in handle post_migrate_state = executor.migrate( ^^^^^^^^^^^^^^^^^ File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\migrations\executor.py", line 91, in migrate self.recorder.ensure_schema() File "D:\pycharm\daima\fg\.venv\Lib\site-packages\django\db\migrations\recorder.py", line 69, in ensure_schema raise MigrationSchemaMissing("Unable to create the django_migrations table (%s)" % exc) django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table ((1064, "You hav e an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1"))
最新发布
06-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值