• check the manual that corresponds to your MySQL server version for the right syntax to use near 'order) values ('徐小波','XuXiaoB','男','1',' at line 1")


    在用原生SQL语句插入的时候,报了一个错,下面我们来看一下我的原生 SQL 和报错情况

            sql = "insert into bluser (name,gender,order) values ('%s','%s','%s')" % (name, gender,order)

    可以看出SQL语句是没有问题的,但是在插入数据库的时候,却报错了,报错的原因是 order 前面多了半个 (')单引号

    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 'order) values ('徐小波','男',' at line 1")

    1-查过一些答案,说过是字符串转义的问题,加上   pymysql.escape_string(order)  进行字符串转义,但是加上之后依然报错,而且报错内容也没有改变

            # sql = "insert into bluser (name,gender,order) values ('%s','%s','%s')" % (name, gender,pymysql.escape_string(order))

    2-说的是在建表的时候,字段名称与表名称不能使用这个符号  "'" , 而因该使用这个符号 "`"  也就是键盘tab上面那个符号,具体形式如下

    CREATE TABLE `order_master` (
    
     中间省略偏离主题代码
      
    ) comment 'XX表';
    

    但是问题依然没有解决,后来,经过一顿胡乱操作找到解决的办法

    如下图

     也就是在 order 上 添加了 "``" 包起来,然后问题解决了。

            sql = "insert into bluser (name,gender,`order`) values ('%s','%s','%s')" % (name, gender,order)
  • 相关阅读:
    HDU 3507 PrintArticle (单调队列优化)
    BZOJ 1911 (特别行动队)
    POJ 3709 K-Anonymous Sequence (单调队列优化)
    邓_php面试【002】——完整版
    邓_正则表达式
    邓_PHP面试2
    邓_PHP面试【001】
    网站大全
    Jquery 获取对象的几种方式介绍
    邓_Jquery测试题
  • 原文地址:https://www.cnblogs.com/bronyaa/p/13416140.html
Copyright © 2020-2023  润新知