Поле mysql int всегда возвращает одно и то же значение - PullRequest
0 голосов
/ 28 июня 2011

Недавно MySQL 5.1.49 (OSX) начал вставлять одно и то же значение '2147483647' для ВСЕХ целочисленных полей с именем id и устанавливать в качестве первичного ключа. Это происходит для всех баз данных и всех таблиц. Вот быстрый пример:

mysql> INSERT INTO packages(id,name,rate) VALUES ('37364428662',"Testing","300");
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> SELECT * FROM packages;
+------------+---------+------+
| id         | name    | rate |
+------------+---------+------+
| 2147483647 | Testing |  300 |
+------------+---------+------+
1 row in set (0.00 sec)

mysql> 

Я пытаюсь переустановить MYSQL, поскольку, похоже, больше ничего не работает: / Я опубликую любые решения, которыми управляю, но между тем любая помощь всегда ценится!

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Это, вероятно, потому что ваше поле id является 32-битным целым числом, а значение 37364428662 потребует более 32 бит для хранения. Попробуйте изменить тип id на беззнаковое целое или более крупный целочисленный тип.

Появляется, когда вы пытаетесь ввести 37364428662, по умолчанию используется максимально возможное значение для int 32 (2147483647).

0 голосов
/ 28 июня 2011

Вы хотите вставить значение для идентификатора 37364428662, которое больше максимально допустимого размера целочисленного поля (2147483647).

...