程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql操作時遇到的小相關問題

mysql操作時遇到的小相關問題

編輯:MySQL綜合教程

mysql數據庫在程序中執行sql語句時,或者在執行sql時,數據庫表可能會有一些特殊的字符,比如說#,.等,這樣在執行時

可能會遇到問題 如以下的表名,backup_2014.2.22, 這個表在查詢時會有問題 因為存在這個.的緣故,會報錯 table_name=“backup_2014.2.22" 如python中寫self.db.query("show create table %s" % table_name)[0]會報錯 (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 '.22' at line 1”) Traceback (most recent call last):   File "/Users/xuxiaodong/work/db_table_to_Wiki.py", line 120, in <module>     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語句中的標准寫法,養成這個習慣比較好

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved