When trying to store uuid.uuid().bytes
with jaydebeapi
in MySQL
as binary(16)
, the conversion is not done correctly. When using
one parameter
curs.execute('INSERT INTO `user` (userId) VALUES (?)',
(uuid.uuid4().bytes))
there is the following error:
Parameter index out of range (2 > number of parameters, which is 1).
When using two parameters
curs.execute('INSERT INTO `user` (userId,username) VALUES (?, ?)',
(uuid.uuid4().bytes, 'some_user'))
The data doesn't get stored correctly
mysql> select * from user;
+------------------------------------+-----------+
| userId | username |
+------------------------------------+-----------+
| 0x00000000000000000000000000000000 | some_user |
+------------------------------------+-----------+
You can start MYySQL with Docker Compose
$ docker-compose up
$ python3 -m venv .venv
$ source .venv/bin/activate
(.venv) $ pip install -r requirements.txt
(.venv) $ python main.py