я пытаюсь вставить некоторые шестнадцатеричные значения в поле БД MySQLКак вставить hex/binary? в базу данных mysql?
это вид значения мне нужно вставить:
['D\x93\xb4s\xa5\x9eM\\\x14\xf3*\x95\xf9\x83\x1d*%P\xdb\xa2', 'D\xbf\xef\xb0\xc8\xff\x17\xc6Y6\xc6\xb4,p\xaa\xb1\xf2V\xdaa', 'D\xd7~~\x02\xd3|}\xfcN\xc1\x03\x97\x07\xb5<U\x16Y\x9e', '\xf3\xb6\xc2,Y/[i\x98\x93\x9d\xb2R\x93\x84\x12W\x1a3\x19', '\xf3\xb7\xce\x1f-n\x89\xb6\x87K\x9dsf\xcb=w\xab\x1a\xa0<', '\xf3\xbf7\x04d\xe6\xdf\xf8"9\x1d\x05\x01\xe4\xd4\xb0\xad\x80\xc0\xf5']
это мой стол
+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| consensus | char(40) | NO | | NULL | |
| identityb32 | char(40) | NO | | NULL | |
| pubdate | char(40) | NO | | NULL | |
| dirport | char(6) | NO | | NULL | |
| ip | char(40) | NO | | NULL | |
| orport | char(40) | NO | | NULL | |
| identityhash | char(40) | NO | | NULL | |
| nick | char(40) | NO | | NULL | |
| version | char(40) | NO | | NULL | |
| flags | varchar(500) | NO | | NULL | |
| identity | char(40) | NO | | NULL | |
| digest | char(40) | NO | | NULL | |
| pubtime | char(40) | NO | | NULL | |
+--------------+--------------+------+-----+---------+-------+
13 rows in set (0.00 sec)
в настоящее время я добавляю шестнадцатеричные данные, так как я бы сделал обычную строку, но это приводит к добавлению нечитаемого ввода:
D??s??M?*???*%P?
Как можно добавить шестнадцатеричные данные?
[Поиск UNHEX() и HEX()] (http://dev.mysql.com/doc/refman/5.0/en/string-functions.html). Использование довольно прямолинейно. –
Спасибо, я попробовал (UNHEX (HEX (identity [c]))), но получить ошибку NameError: имя 'UNHEX' не определено – user2065929
Я не думаю, что это либо latin1, либо utf8. Возможно, это двоичный или какой-то другой тип BLOB? –