视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql操作时遇到的小问题_MySQL
2020-11-09 19:19:10 责编:小采
文档


mysql数据库在程序中执行sql语句时,或者在执行sql时,数据库表可能会有一些特殊的字符,比如说#,.等,这样在执行时

可能会遇到问题如以下的表名,backup_2014.2.22, 这个表在查询时会有问题因为存在这个.的缘故,会报错table_name=“backup_2014.2.22"如python中写self.db.query("show create table %s" % table_name)[0]会报错(10, "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 '.22' at line 1”)Traceback (most recent call last): File "/Users/xuxiaodong/work/db_table_to_Wiki.py", line 120, in main(sys.argv) File "/Users/xuxiaodong/work/db_table_to_Wiki.py", line 117, in main db.get_db_tables_to_wiki() File "/Users/xuxiaodong/work/db_table_to_Wiki.py", line 31, in get_db_tables_to_wiki create_table = self.db.query("show create table %s" % table_name)[0]TypeError: 'NoneType' object has no attribute ‘__getitem__' 从报的错误来看是因为sql语句的语法错误,而原因就是将带有特殊字符的表名直接作为字符串进行sql时会有语法错误 而在sql语句中字段和表名应该是有`table`,这两个符号来包括,就可以了self.db.query("show create table `%s" % table_name + "`”) 这是sql语句中的标准写法,养成这个习惯比较好

下载本文
显示全文
专题