zoukankan      html  css  js  c++  java
  • mysql+python+pymysql的一些细节问题

    报错

    (1044, "Access denied for user 'erio'@'localhost' to database 'library'")

    就是权限问题了,没什么好说的,,,换成了root //或许也可以给erio权限

    SQL SERVER 有ntext类型,mysql中无,直接使用 text

    插入数据时报错:

    %d format: a number is required, not str

    我看了一下,要插入的table 的数据类型是int,然后传送的数据类型也是int,按理来说不应该报错啊。然后去网上搜了一下https://www.douban.com/note/206462446/

    ,这里说只要传送的格式对了就可以,INSERT INTO 全写%S。然后修改了代码,解决了问题

    另外还修改了 set NUM =%S  (原来是&d)

    传入以下格式的字典
        book_msg{
            'BID': str,
            'BNAME': str,
            'AUTHOR': str,
            'PUBLICATION_DATE': str,
            'PRESS': str,
            'POSITION': str,
            'SUM': int,
            'CLASSIFICATION': str
        }
    
    INSERT
            INTO book
            VALUES(%s, %s, %s, %s, %s, %s, %s, %s)
            ''', (
                book_info['BID'],
                book_info['BNAME'],
                book_info['AUTHOR'],
                book_info['PUBLICATION_DATE'],
                book_info['PRESS'],
                book_info['POSITION'],
                book_info['SUM'],
                book_info['SUM']
            ))

    然后是cursor 的问题

    我不知道怎么样同时拼接多条语句,比如这样会报错

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version

            cursor.execute('''
            # USE Library
            # CREATE TABLE student(
            #     SID char(15) PRIMARY KEY,
            #     PASSWORD char(70),
            #     SNAME text,
            #     DEPARTMENT nchar(20),
            #     MAJOR nchar(20),
            #     MAX int
            # )
            # CREATE TABLE administrator(
            #     AID char(15) PRIMARY KEY,
            #     PASSWORD char(70)
            # )
            ''')        

    还不知道怎么解决,就只能每个事务都分开然后最后commit了。这样有些麻烦

    cursor.execute('''
            CREATE TABLE classification(
                BID char(15),
                CLASSIFICATION nchar(15),
                PRIMARY KEY(BID, CLASSIFICATION)
            )
            ''')
    cursor.execute('''
            INSERT
            INTO administrator
            VALUES('admin', '123456')
            ''')
    
    conn.commit()
  • 相关阅读:
    SQL学习
    FOR XML PATH
    IOS学习网址
    weak nonatomic strong等介绍(ios)
    UVALive3045 POJ2000 ZOJ2345 Gold Coins
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA439 POJ2243 HDU1372 ZOJ1091 Knight Moves【BFS】
    UVA10905 Children's Game
  • 原文地址:https://www.cnblogs.com/lqerio/p/12180227.html
Copyright © 2011-2022 走看看