찾다

 >  Q&A  >  본문

scrapy - python 操作mysql,按照当前时间建立表,无法创建表..

1.使用python操作mysql,希望使用当前时间建立表名.但是格式化表名报错.

2.代码如下图:

 def __init__(self):
        time1 = datetime.datetime.now().strftime('%Y-%m-%d')
        self._tabname = 'sound_' + time1
        self.conn = MySQLdb.connect(host="localhost", user="root", passwd="ubuntu", db="spider", charset="utf8")
        self.cursor = self.conn.cursor()
        try:
            sql = """CREATE TABLE %s (
                id int PRIMARY KEY AUTO_INCREMENT, Title varchar (255), Albumtitle varchar(255),
                SinglePlayCount VARCHAR(255), Albumscore VARCHAR(255), LikeCount VARCHAR (255),
                CommentsCount VARCHAR (255), TotalPlayCounts VARCHAR (255), Duration VARCHAR (255),
                CreatedTime VARCHAR (255), displayDiscountedPrice VARCHAR (255),
                Nickname VARCHAR (255), category_title VARCHAR (255), trackId VARCHAR (255))
                 )"""
            self.cursor.execute(sql, (self._tabname, ))
        except:
            pass

3.报错截图如下:

4.请教下.如何能格式化表名,让它为当前时间,尝试过format也不行.

5.麻烦提供方法,或者思路都可以.非常感谢!

PHP中文网PHP中文网2810일 전377

모든 응답(2)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-18 09:55:01

    데이터베이스 테이블 이름 지정에는 단어 연결에 밑줄_을 사용해야 하며, -

    문자를 사용하면 안 됩니다.

    으아악

    참고:
    링크 설명

    회신하다
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:55:01

    1. time1은 '%Y_%m_%d' 형식을 대신 사용합니다.

    2. trackId VARCHAR (255)) )이 하나 더 있습니다

    회신하다
    0
  • 취소회신하다