Estou usando o SQL Server, pois já o tinha instalado na minha máquina. Quando inseri TRUE no campo recebido, deu um erro "Invalid column name 'TRUE'." Alguém sabe me explicar porque isso aconteceu?
Estou usando o SQL Server, pois já o tinha instalado na minha máquina. Quando inseri TRUE no campo recebido, deu um erro "Invalid column name 'TRUE'." Alguém sabe me explicar porque isso aconteceu?
Larissa,
Pode colocar o código do insert que você usou aqui?
Oi Arthur, eu usei o seguinte código:
INSERT INTO TB_COMPRAS (preco, data, descricao, recebido) VALUES (100.0, '2010-09-08', 'COMIDA', TRUE)
O código do insert está certo, o que deve estar te dando problema é o valor true.
Qual é o tipo da coluna recebido na sua tabela?
Tem como colar aqui o código que você usou para criar a tabela? (CREATE TABLE ...)
Primeiro coloquei o recebido como tipo tinyint, depois como bit... Não sei direito qual seria adequado por ser boolean...
Então provavelmente é isso. O melhor tipo nesse caso é o bit. Segundo a MSDN:
https://msdn.microsoft.com/en-us/library/ms177603.aspx
Você pode usar TRUE e FALSE, mas tem que ser STRING, tente o código abaixo:
INSERT INTO TB_COMPRAS (preco, data, descricao, recebido) VALUES (100.0, '2010-09-08', 'COMIDA', 'TRUE')
Segundo a documentação, você pode também usar 0 (Zero) para false e 1 para true.
Tente de novo :)
Funcionou \o/
Era o tipo do dado mesmo... tem que ser tipo bit.
Obrigada pela ajuda ;)
create table compras (id int auto_increment primary key, valor double,data date,descricao varchar(255), cp_recedida boolean);
insert into COMPRAS (valor, data, observacoes, recebido) values (200, null, 'MATERIAL ESCOLAR', TRUE);
Cuidado com o case sensitive, no caso acima esse é o problema. O nome do objeto/entidade/tabela ou como queiram chamar está em upercase já a tabela foi criada em smallcase.