Форум сайта python.su
Добрый день всем. Не смог найти в документации как выполнить вставку типа ‘set’ с использованием mariaDB. Для mysql код выглядит так:
conn = mysql.connector.connect(**dbconfig) cursor = conn.cursor() _sql = """insert into db (p, l, ip, browser_string, results) values (%s,%s,%s,%s,%s)""" cursor.execute(_sql, (req.form['p'], req.form['l], req.remote_addr, req.user_agent.browser, res, ))
import mariadb conn = mariadb.connect(user="user", password="password", host="localhost", database="DB") cursor = conn.cursor() try: cursor.executemany("INSERT INTO log (p,l,ip,browser_string,results) VALUES (?,?,?,?,?)", (request.form['p'], request.form['l'], request.remote_addr, request.user_agent.browser, res,)) except mariadb.Error as e: print(f"Error: {e}")
Офлайн
AdelringНикак. Нет такого типа в реляционных СУБД
как выполнить вставку типа ‘set’ с использованием mariaDB.
Офлайн
AdelringТы там кавычку не закрыл.
Для mysql код выглядит так:
AdelringПервый пример показывает, что там всё аналогично
Получаю ошибку, что тип множеств не поддерживается mariadb. Я не смог в документации найти способ решить эту задачу.
Отредактировано py.user.next (Июнь 29, 2021 00:32:36)
Офлайн
py.user.nextИспользуя документацию, сделал так:
Первый пример показывает, что там всё аналогично
def log_request(req:'flask_request',res:str) -> None: import mariadb conn = mariadb.connect(user="user", password="passwd", host="localhost", database="logDB") cursor = conn.cursor() phrase = request.form['p'] letters = request.form['l'] sql = "INSERT INTO log(p,l,ip,browser_string,results) VALUES ( data = (p,l,req.remote_addr,req.user_agent.browser,res,) try: cursor.execute(sql,data) except mariadb.Error as e: print(f"Error: {e}") conn.commit() cursor.close() conn.close()
id | ts | phrase | letters | ip | browser_string | results | +----+---------------------+----------------------------------+---------+-----------+----------------+----------------------+ | 2 | 2021-06-30 15:48:14 | galaxy | aeiou | 127.0.0.1 | firefox | {'a'} | | 3 | 2021-06-30 15:50:23 | life,the universe,and everything | aeiou | 127.0.0.1 | firefox | {'a', 'e', 'u', 'i'} | +----+---------------------+----------------------------------+---------+-----------+----------------+----------------------+
Офлайн