Truncated data in Mysql

Asked

Viewed 1,088 times

-1

A database table has 5 columns.

1ª id autoincremento [INT[11] NOT NULL]
2ª código do produto [varchar(15) NULL]
3ª nome do produto [varchar[80] NULL]
4ª custo do produto [double[10,2] NULL]
5ª imposto do produto [double[10,2] NULL]

Estrutura da tabela

Índices

Running the SQL below:

INSERT INTO 
    `produtos` 
    ( 
    `produto_cod`, 
    `produto_nome`, 
    `produto_custo`, 
    `produto_imposto` 
    ) 
    VALUES 
    ( 
    '03202374756', 
    'Produto teste XYZv2', 
    '100.50', 
    '' 
    );

The "product tax" field is not required (but it also receives tax values if the user fills in the related field in the registration form), and you can pass the blank value, but SQL returns an error even though the field is a value NULL.

Data truncated for column 'prod_imposto_ipi'.

1 answer

1


The error occurs because even the field produto_imposto accepting null, is receiving a value, a value of an empty string: ''.

To correct this situation, you can choose to submit the value null to the country produto_imposto:

INSERT INTO 
    `produtos` 
    ( 
    `produto_cod`, 
    `produto_nome`, 
    `produto_custo`, 
    `produto_imposto` 
    ) 
    VALUES 
    ( 
    '03202374756', 
    'Produto teste XYZv2', 
    '100.50', 
    null
    );

Or remove this field from the Insert, since it accepts null and you do not intend to save anything:

 INSERT INTO 
    `produtos` 
    ( 
    `produto_cod`, 
    `produto_nome`, 
    `produto_custo`
    ) 
    VALUES 
    ( 
    '03202374756', 
    'Produto teste XYZv2', 
    '100.50'
    );

I created an online example: http://sqlfiddle.com/#! 9/c0b5c95/1

  • Hi, it is not required, but the field can yes receive a value.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.