Estou usando o mysql e preciso atualizar uma coluna com um valor nulo. Eu tentei de muitas maneiras diferentes e o melhor que consegui é uma string vazia.
Existe uma sintaxe especial para fazer isso?
mysql
sql-update
jim
fonte
fonte
Respostas:
Nenhuma sintaxe especial:
fonte
NULL
é um valor especial no SQL. Portanto, para anular uma propriedade, faça o seguinte:fonte
Use em
IS
vez de=
Isso resolverá o exemplo de sintaxe do seu problema:fonte
Lembre-se de verificar se sua coluna pode ser nula. Você pode fazer isso usando
Se sua coluna não puder ser nula, quando você definir o valor como nulo, será o valor de conversão para ele.
Aqui um exemplo
fonte
Para aqueles que enfrentam um problema semelhante, descobri que, ao "simular" uma
SET = NULL
consulta, o PHPMyAdmin gerava um erro. É um arenque vermelho .. basta executar a consulta e tudo ficará bem.fonte
Nas respostas acima, muitas maneiras e repetições foram sugeridas para o mesmo. Continuei procurando uma resposta, como mencionado, é a pergunta, mas não consegui encontrar aqui.
Mas o oposto da pergunta acima "atualizar uma coluna com um valor nulo" pode ser "ATUALIZAR TODAS AS LINHAS DA COLUNA PARA NULAR"
Em tal situação, após trabalhos
is
tambémis not
funciona no mysqlfonte
usar
is
vez de=
Por exemplo:
Select * from table_name where column is null
fonte
Outro motivo possível para a cadeia vazia, em vez de um nulo verdadeiro, é que o campo é um índice ou faz parte de um índice. Isso aconteceu comigo: usando o phpMyAdmin, editei a estrutura de um campo em uma das minhas tabelas para permitir NULLs marcando a caixa de seleção " Null " e pressionando o botão " Save ". " O preço da tabela foi alterado com sucesso " foi exibido, então eu assumi que a alteração ocorreu - não ocorreu. Depois de fazer um UPDATE para definir todos esses campos como NULL , eles foram configurados para cadeias vazias ; então, olhei novamente a estrutura da tabela e vi que o " Null ""a coluna desse campo foi definida como ' não '. Foi quando percebi que o campo fazia parte da chave primária !
fonte
Se você deseja definir um valor nulo usando o valor da coluna do conjunto de consultas de atualização como NULL (sem aspas), atualize o nome da tabela definido nome da coluna = NULL
No entanto, se você estiver editando diretamente o valor do campo no mysql workbench, use a tecla (Esc + del) para inserir valor nulo na coluna selecionada
fonte
se você seguir
então o nome "" não é NULL NO MYSQL significa sua consulta
SELECT * FROM table WHERE name = NULL
não trabalhar ou decepcionar-sefonte
Eu suspeito que o problema aqui é que as aspas foram inseridas como literais no seu valor de string. Você pode definir essas colunas como nulas usando:
Naturalmente, você deve primeiro verificar se esses valores estão realmente "" com algo como:
fonte
se você definir NULL para todos os registros, tente o seguinte:
OU apenas defina NULL para registros especiais, use WHERE
fonte