какой выход положен? - PullRequest
0 голосов
/ 01 мая 2010

Привет, это мой код, но когда я запускаю его в mysql, он показывает ошибку из-за типа данных, но мой друг проверил его на сервере sql, он не показывает ошибку, а также вставил значение: 32769.правильно?

CREATE TABLE T1 (A INTEGER NOT NULL);
INSERT T1 VALUES (32768.5);

Ответы [ 2 ]

1 голос
/ 01 мая 2010

MySQL (на мой взгляд, справедливо) расстраивается, потому что вы указали значение FLOAT для столбца, который ожидает INTEGER.

MS-SQL выполняет скрытое преобразование за кулисами, но лично я думаю, что это плохо, и ответ MySQL (ошибка) правильный ...

0 голосов
/ 01 мая 2010

Ваш друг прав. MySQL преобразует число в целое число при вставке. Там нет ошибки.

CREATE TABLE T1 (A INTEGER NOT NULL);
INSERT T1 VALUES (32768.5);
SELECT * FROM T1;

Результат:

A
32769

Информация о версии:

SELECT @@VERSION;
'5.1.41-community'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...