S
S
sergey199408082018-07-11 09:52:14
MySQL
sergey19940808, 2018-07-11 09:52:14

How to insert data into a database?

There is a Python script, swears at the encoding. I fixed the encoding The script itself:

import random
import pymysql.cursors

FIRST_NAMES = [
    'Акакий', 'Аким' 'Алан', 'Александр', 'Алексей', 'Али',
    'Алик', 'Алим', 'Алихан', 'Алмаз', 'Альберт', 'Амир', 'Амирам',
    'Анар', 'Анастасий', 'Анатолий', 'Анвар', 'Ангел', 'Андрей', 'Анзор',
    'Антон', 'Анфим', 'Арам', 'Аристарх', 'Аркадий', 'Арман', 'Армен',
    'Арсен', 'Арсений', 'Арслан', 'Артём', 'Артемий', 'Артур', 'Архип',
    'Аскар', 'Асхан', 'Ахмет', 'Ашот'

]

LAST_NAMES = [
    'Абрамов', 'Авдеев', 'Агафонов', 'Аксёнов', 'Александров', 'Алексеев', 'Андреев',
    'Анисимов', 'Антонов', 'Артемьев', 'Архипов', 'Афанасьев', 'Баранов', 'Белов',
    'Белозёров', 'Белоусов', 'Беляев', 'Беляков', 'Беспалов', 'Бирюков', 'Блинов',
    'Блохин', 'Бобров', 'Бобылёв', 'Богданов', 'Большаков', 'Борисов', 'Брагин', 'Буров',
    'Быков', 'Васильев', 'Веселов', 'Виноградов', 'Вишняков', 'Владимиров', 'Власов',
    'Волков', 'Воробьёв'
]

GROUPS = ['Руководство', 'Бухгалтерия', 'Отдел кадров', 'Администрация']

list_users = []

for _ in range(300):
    list_users.append(
        {
            'first_name': random.choice(FIRST_NAMES),
            'last_name': random.choice(LAST_NAMES),
            'group': random.choice(GROUPS)
        }
    )

connection = pymysql.connect(host='localhost',
                             user='root',
                             password='nemate666',
                             db='ListUsers',
                             charset='utf8',
                             cursorclass=pymysql.cursors.DictCursor
                             )

query = "INSERT INTO `users_user` (`first_name`, `last_name`, `group`) VALUES(%s, %s, %s)"
cursor = connection.cursor()
for i in list_users:
    cursor.execute(query, (i['first_name'], i['last_name'], i['group']))

connection.commit()
connection.close() 

| collation_connection | utf8_general_ci |
| collation_database   | utf8_unicode_ci |
| collation_server     | utf8_unicode_ci |

| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |

The error itself:
pymysql.err.InternalError: (1366, "Incorrect string value: '\\xD0\\x90\\xD1\\x81\\xD1\\x85...' for column 'first_name' at row 1")

Answer the question

In order to leave comments, you need to log in

1 answer(s)
R
Rsa97, 2018-07-11
@sergey19940808

What is the table and column encoding?
SHOW CREATE TABLE `users_user`;

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question