mysql использует приведение к дублированию столбца var в int - PullRequest
0 голосов
/ 10 июня 2018

по ошибке я указал столбец как var (45), и когда я экспортирую таблицу в cvs, я не вижу чисел.

теперь я хочу сделать его целым числом, когда использую эту команду:

select cast(SIM as signed) 
from sample.table1

Я не получаю никакой ошибки - так что, я думаю, она конвертируется в int, верно?но как мне скопировать новые данные в новый столбец?

Я пробовал это:

update 
sample.table1
set SIM_NEW=cast(SIM as signed)
where id=id

, но это не работает

Код ошибки: 1264. Вне диапазона значения для столбца 'SIM_NEW' в строке 1

так что я делаю не так?

  • все данные в столбце SIM - это 19-значное число

  • в столбце SIM_NEW указано INT (20)

Спасибо,

1 Ответ

0 голосов
/ 10 июня 2018

Я предполагаю, что тип данных SIM_NEW равен INTEGER.

Вы получаете ошибку из-за диапазона.Целое число не может обработать 17-значное число.Используйте DOUBLE или любой другой тип данных, подходящий для данной потребности, вместо INTEGER при создании столбца SIM_NEW.

DBFiddle Demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...