Python+MySQL开发医院网上预约系统(课程设计)二

---恢复内容开始---

1:报错

1.1、创建表时报错

CREATE TABLE Admin (
        A_ID VARCHAR(20) NOT NULL AUTO_INCREMENT,

pymysql.err.InternalError: (1063, "Incorrect column specifier for column 'A_ID'")

原因:自动增长列用int数据类型,不用varchar. 

 1.2、导出文件出错

SELECT * FROM Admin OUTFILE '/文档/database/Admin.txt'

 

The MySQL server is running with the --secure-file-priv option so it cannot

 

原因:mysql设置的权限,可以使用

show variables like '%secure%';查看 secure-file-priv 当前的值是什么

导出的数据必须是这个值的指定路径才可以导出,默认有可能是NULL就代表禁止导出,所以需要设置一下

修改为: SELECT * FROM Admin INTO OUTFILE '/var/lib/mysql-files/Admin.txt';就可以了

 

1.3、插入表格数据出错

 

mysql 1136错误 Column count doesn't match value count at row 1

原因:插入数据的列或者值数量格式不对应

 

1.4、导入ID数据出错

Warning Code : 1264 Out of range value for column ‘buyer_tpl’ at row 1

原因:设置的ID为INT型,已经超过了unsigned的峰值4294967296了

 

修改:1:将int类型换成bigint

2 将int类型换成varchar()的

 

1.5、import unittest
from city_functions import get_city_country

class CityFuctionTestCase(unittest.TestCase):

 

def test_city_country_population():

city_country_population=get_city_country('santiago','chile',5000000)

self.assertEqual(city_country_population,'Santiago,Chile,population=5000000')

 

 

 

以上是我编写的一个测试代码,然而出现了takes 0 positional arguments but 1 was given。其根本原因是我没有在类中的函数内引入self,即标红处应该改成

 

def test_city_country_population(self):

 

这是一个很基本的,但是很严重的错误。只是因为测试类中无需写__init__()函数,所以就连self都忘记了。。。。

 

==============================================================================================================

 

在编写测试代码时候,会出现属性错误。我的问题是,在编写的被测试代码中,某个函数没有给出return的值,致使测试代码在调用这个函数进行断言时,得不到值而出现错误。

 

self.queryModel.setHeaderData(0, Qt.Horizontal, "编号")

 

posted @ 2018-09-10 22:49  liuyaanng  阅读(1482)  评论(0编辑  收藏  举报