Есть табличка, в которой одно из полей -- unsigned int.
Есть программа, которая пишет в неё данные через mysql_stmt_bind + mysql_stmt_execute.
Проблема возникает при попытке передать значение с установленным старшим битом. Оно трактуется как отрицательное и в таблицу пишется 0. Проблема связана с тем, что у структуры MYSQL_BIND в списке типов, которые она может описывать, нет ни слова про unsigned. MYSQL_TYPE_INT и всё.
Я пока вижу два варианта:
— перейти на bigint
— отказаться в этом месте от mysql_stmt_bind, пихать данные в запрос напрямую.
Оба варианта не нравятся. Может есть ещё какой-то, который я пропустил?