2010-10-25 10 views
0

Я замечаю очень странную проблему в своем коде. Я вставляю значение 128, но в моей базе данных он говорит 127.Как использовать общий журнал mysql?

Я бы хотел посмотреть журналы mysql general/query, но я никогда не видел, чтобы какие-либо файлы журналов производили no matter what i do. Я попробовал -l, -l с абсолютным путем и --general_log_file. Не повезло. Я также использовал mysqladmin flush-logs. Все еще ничего

+0

Действительно ли это означает, что «компьютеры начинают рассчитывать на« нулевую »ситуацию? – drudge

ответ

2

Используете ли вы тип данных подписанного TINYINT?

CREATE TABLE my_table (id TINYINT); 
Query OK, 0 rows affected (0.03 sec) 

INSERT INTO my_table VALUES (128); 
Query OK, 1 row affected, 1 warning (0.00 sec) 

SELECT * FROM my_table; 
+------+ 
| id | 
+------+ 
| 127 | 
+------+ 
1 row in set (0.00 sec) 
+0

!!! да! это проблема. Вау. Почему (может ли mysql позволить мне это сделать) ... ой. Кто читает заголовок и за исключением ответа, будет разочарован. Есть ли неподписанный 1-байтовый тип или мне нужно использовать SMALLINT? – 2010-10-25 19:33:15

+1

@ acidzombie24: Да, вы можете использовать unsigned 1 byte: 'CREATE TABLE my_table (id TINYINT UNSIGNED);' или если вы хотите изменить текущую таблицу: 'ALTER TABLE my_table MODIFY COLUMN id TINYINT UNSIGNED;' –

Смежные вопросы