Qual é a diferença de uma coluna que é DEFAULT ((0)) NOT NULL de uma DEFAULT ((0)) , pra que server aquela opção de marca Allow Nulls , Obrigado.
Qual é a diferença de uma coluna que é DEFAULT ((0)) NOT NULL de uma DEFAULT ((0)) , pra que server aquela opção de marca Allow Nulls , Obrigado.
Quando você colocar um valor default deixe o not null descelecionado
Vou explicar, esse campo ele retorna um valor booleano, TRUE ou FALSE.
Se você informar um valor padrão (Default) NULL tem que retornar FALSE.
Se não tiver um valor padrão NULL tem que retornar TRUE.
NULL = Booleano. (0 & 1, TRUE & FALSE)
NOT NULL = Não booleano (creio que não tenha limite de caracteres para um campo NOT NULL, se tiver deve ser gigantesco também a quantidade).
Obs: caso eu esteja errado sobre NOT NULL não ter tamanho, me avise, pois realmente eu não sei.
Last edited by s00x; 09/07/2016 at 09:38 PM.
É melhor estar enganado, do que ser enganado.
O atributo NOT NULL do SQL é usado quando queremos reforçar a necessidade de se informar o valor para um determinado campo da tabela. Quando usamos este atributo na definição de um campo, o valor para este campo não poderá ser deixado em branco, ou seja, não poderá conter o valor NULL (ausência de valor).
Veja um comando DDL CREATE TABLE usado para criar uma tabela chamada usuarios:
CREATE TABLE usuarios(
id INT NOT NULL AUTO_INCREMENT,
usuario VARCHAR(30) NOT NULL,
senha VARCHAR(10) DEFAULT NULL,
email VARCHAR(150) DEFAULT NULL,
PRIMARY KEY(id)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
Veja que aqui o campo id é do tipo INT, não aceita NULL e é auto-incremento. O campo usuario também não aceita NULL, enquanto os campos senha e email o permitem. Observe agora a seguinte instrução SQL INSERT INTO:
INSERT INTO usuarios VALUES(NULL, 'osmar', '1234',
'[email protected]');
Esta instrução é executada sem qualquer problema. Embora o campo id seja NOT NULL, ele é auto-incremento. Desta forma, ao fornecermos o valor NULL, o MySQL se encarrega de inserir o próximo valor de auto-incremento. Veja agora o que acontece se fornecermos o valor NULL para o campo usuario:
INSERT INTO usuarios VALUES(NULL, NULL, '1234',
'[email protected]');
Ao tentarmos executar esta query o MySQL lançará o seguinte erro:
Column 'usuario' cannot be null (1048)
Note que uma string vazia (ou um zero) é diferente de NULL. Assim, a instrução abaixo será executada sem quaisquer problemas:
INSERT INTO usuarios VALUES(NULL, '', '1234',
'[email protected]');
Obrigado a todos , ajudou muito
Lembrando que o conteúdo mencionado é relacionado a MySQL, em MSSQL, já entra o método SPARSE para campos nulos.O atributo NOT NULL do SQL é usado quando queremos reforçar a necessidade de se informar o valor para um determinado campo da tabela. Quando usamos este atributo na definição de um campo, o valor para este campo não poderá ser deixado em branco, ou seja, não poderá conter o valor NULL (ausência de valor).
Veja um comando DDL CREATE TABLE usado para criar uma tabela chamada usuarios:
CREATE TABLE usuarios(
id INT NOT NULL AUTO_INCREMENT,
usuario VARCHAR(30) NOT NULL,
senha VARCHAR(10) DEFAULT NULL,
email VARCHAR(150) DEFAULT NULL,
PRIMARY KEY(id)
)ENGINE=InnoDB DEFAULT CHARSET=latin1;
Veja que aqui o campo id é do tipo INT, não aceita NULL e é auto-incremento. O campo usuario também não aceita NULL, enquanto os campos senha e email o permitem. Observe agora a seguinte instrução SQL INSERT INTO:
INSERT INTO usuarios VALUES(NULL, 'osmar', '1234',
'[email protected]');
Esta instrução é executada sem qualquer problema. Embora o campo id seja NOT NULL, ele é auto-incremento. Desta forma, ao fornecermos o valor NULL, o MySQL se encarrega de inserir o próximo valor de auto-incremento. Veja agora o que acontece se fornecermos o valor NULL para o campo usuario:
INSERT INTO usuarios VALUES(NULL, NULL, '1234',
'[email protected]');
Ao tentarmos executar esta query o MySQL lançará o seguinte erro:
Column 'usuario' cannot be null (1048)
Note que uma string vazia (ou um zero) é diferente de NULL. Assim, a instrução abaixo será executada sem quaisquer problemas:
INSERT INTO usuarios VALUES(NULL, '', '1234',
'[email protected]');
É melhor estar enganado, do que ser enganado.
A pergunta do mesmo esta falando sobre coluna de dados , nao sobre valores e definicoes de variaveis. Pergunta dele foi simple e vo dexa mais simples...
e so traduzir:
Null = Nulo
Not Null = Nao Nulo
o amigo em cima esta falando em Booleanos binarios, e a pergunta @[Somente membros podem ver os links. ] vez e´q relacionado a SQL (tabelas de banco de dados SQL) ...
Last edited by 4i20; 10/07/2016 at 09:19 AM.
Quer da uma de ignorante, então vamos ser ignorante, a duvida dele foi postada em MUONLINE, se você usa MYSQL pra alguma coisa em MuOnline, meus parabéns, e quem ta falando de variáveis meu jovem? muito menos de binário ? Acho que estamos no mesmo tópico e alguém esta num assunto contrário.A pergunta do mesmo esta falando sobre coluna de dados , nao sobre valores e definicoes de variaveis. Pergunta dele foi simple e vo dexa mais simples...
e so traduzir:
Null = Nulo
Not Null = Nao Nulo
o amigo em cima esta falando em Booleanos binarios, e a pergunta @[Somente membros podem ver os links. ] vez e´q relacionado a SQL (tabelas de banco de dados SQL) ...
É melhor estar enganado, do que ser enganado.
Atenção
Tópico Fechado!
Caso o autor queira que reabra, entre em contato com algum membro da Staff solicitando a reabertura via MP.
Grato
[]'
Novo por aqui? [Somente membros podem ver os links. ] e se apresente para a Comunidade PerfectZone
Leia as Regras para evitar que você receba infrações ou até mesmo ser banido. [Somente membros podem ver os links. ] para ler as regras da PerfectZone
..::: Precisamos ser mais humildes e reconhecer que nem tudo sabemos :::..
By L.Henrique