我想创建一个SQL表,它由此运行(这是和SQL文件,我在我的代码'1-fake-mentor-candidates.sql'结束时调用)我尝试创建包含来自随机元素的10000行的SQL表。它给了我一个错误
CREATE TABLE "mentor_candidates" (
first_name varchar(255) NOT NULL,
last_name varchar(255) NOT NULL,
phone_number varchar(100) NOT NULL,
email varchar(255) NOT NULL,
city varchar(255) NOT NULL,
level integer NOT NULL,
birth_year integer NOT NULL
);
这是我的课,应该创造我的表,但它给我回一个错误信息: 回溯(最近通话最后一个):
文件“fake-mentor-candidates.py”第39行,在
FakeMentors.write_sql_file('1-fake-mentor-candidates.sql')
文件“fake-mentor-candidates.py”,第35行,在write_sql_file中 + cls.level +“);”
AttributeError的:对象类型 'FakeMentors' 有没有属性 'FIRST_NAME'
class FakeMentors:
first_name_to_pick = ['Attila', 'Prezmek', 'John', 'Tim', 'Matthew', 'Andy', 'Giancarlo']
last_name_to_pick = ['Monoczki', 'Szodoray', 'Ciacka', 'Carrey', 'Obama', 'Lebron', 'Hamilton', 'Fisichella']
city_to_pick = ['Budapest', 'Miskolc', 'Krakow', 'Barcelona', 'New York']
phonenumber_to_pick = ['30', '20', '70']
def __init__(self):
self.first_name = random.choice(self.first_name_to_pick)
self.last_name = random.choice(self.last_name_to_pick)
self.birth_year = random.randint(1960, 1995)
self.email = self.first_name + self.last_name + str(random.randint(1, 100)) + '@codecool.com'
self.city = random.choice(self.city_to_pick)
self.phone_number = '+36' + self.random.choice(phonenumber_to_pick) + str(random. randint(100000, 999999))
self.level = random.randint(1, 10)
@classmethod
def write_sql_file(cls, sql_file):
with open(sql_file, 'w') as my_file:
my_file.write('TRUNCATE TABLE mentor_candidates;\nBEGIN TRANSACTION;\n')
for row in range(0, 10000):
sql_line = "INSERT INTO \"mentor_candidates\" "\
+ "(first_name,last_name,birth_year,email,city,phone_number,level) "\
+ "VALUES"\
+ "(\'" + cls.first_name + "\',"\
+ "\'" + cls.last_name + "\',"\
+ cls.birth_year + ","\
+ "\'" + cls.email + "\',"\
+ "\'" + cls.city + "\',"\
+ "\'" + cls.phone_number + "\',"\
+ cls.level + ");"
my_file.write(line + '\n')
my_file.write("END TRANSACTION;\n")
FakeMentors.write_sql_file('1-fake-mentor-candidates.sql')
我在做什么错在这里? :/
我做到了!这是在标语 – dmbdnr