@sergey19940808

Как вставить данные в базу данных?

Есть скрипт питоновский, ругается на кодировку. Я кодировку исправил Сам скрипт:
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/ |


Сама ошибка:

pymysql.err.InternalError: (1366, "Incorrect string value: '\\xD0\\x90\\xD1\\x81\\xD1\\x85...' for column 'first_name' at row 1")
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А кодировка таблицы и колонки какая?
SHOW CREATE TABLE `users_user`;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы