Você está na página 1de 3

OUT OF RANGE VALUE ADJUSTED FOR COLUMN 'NID' AT

ROW

VALOR

1
AJUSTADO PARA A COLUNA

Mudar o campo NID das tabelas:


ATUALIZADOR e,
CLIENTES
Passar o campo para de INT para BIGINT nos caixas e no
servidor.

Aprenda a usar o tipo de dados TINYINT do


MySQL
O tipo de dados TINYINT do MySQL usado quando
precisamos armazenar valores inteiros que se encaixem na
faixa de -128 a 127. Este tipo ocupa 1 byte de espao (8
bits).
Veja um trecho de cdigo no qual criamos uma tabela
MySQL chamada produtos contendo trs campos:
CREATE TABLE produtos(
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
categoria TINYINT UNSIGNED NOT NULL,
nome` VARCHAR(45) NOT NULL,
PRIMARY KEY(id)
)
ENGINE = InnoDB;

Aqui ns usamos o tipo TINYINT para a categoria do


produto. Isso quer dizer que poderemos ter no mximo 127
categorias diferentes no sistema. Mas, note o uso do
modificador UNSIGNED aps o nome do tipo de dados. Este
modificador faz com que o valor seja somente positivo, o

que altera a faixa de valores positivos para 0 at 255.


Valores negativos no sero permitidos.

Veja agora uma instruo SQL INSERT que insere um novo


produto na tabela recm-criada:
INSERT
AX');

INTO

produtos

VALUES(null,

23,

'CAMISETA

REGATA

Se o valor fornecido para a categoria estiver fora da faixa


permitida

para

um

TINYINT

voc

ver

seguinte

mensagem de erro:
Out of range value adjusted for column 'categoria' at row 1
(Erro: 1264)
Vamos verificar o comportamento deste tipo de dados em
uma funo MySQL? Veja o cdigo que cria uma funo
somar():
DELIMITER $$
DROP FUNCTION IF EXISTS somar $$
CREATE FUNCTION somar(a TINYINT, b TINYINT) RETURNS TINYINT
BEGIN
RETURN a + b;
END $$
DELIMITER ;

Veja que os parmetros e o retorno da funo so do tipo


TINYINT. Eis uma demonstrao de como cham-la:
SELECT somar(4,3) AS soma;

Experimente

fornecer

valores

que,

quando

somados,

excedam a capacidade de um TINYINT e observe o


comportamento da funo.
Para finalizar, note que comum informarmos o tipo
TINYINT com um valor inteiro em parnteses, por exemplo,
TINYINT(2). Este nmero nos parnteses no interfere em
nada nos valores a serem armazenados. Ele usado para
controlar a largura do campo na exibio do valor nos
resultados de uma query SELECT ou como um lembrete da
quantidade de dgitos a serem usados no campo.