Mostrando postagens com marcador MYSQL. Mostrar todas as postagens
Mostrando postagens com marcador MYSQL. Mostrar todas as postagens

quarta-feira, 11 de maio de 2016

Alterar valor do Auto Incremento (auto_increment) de uma tabela no MySQL

Olá... Neste post mostro como é simples alterar o valor do campo auto_increment no banco de dados MySQL.

Todos sabemos que ao excluir um ou vários registro, "nunca" o banco dados irá gerar aqueles "IDs" que foram excluídos.

Se for necessário altere o valor do auto_increment com o comando abaixo:

alter table 'SuaTabela' auto_increment = ValorDesejado;

e é isso pessoal... 


terça-feira, 5 de abril de 2016

Gerando lista (separada por vírgula) no MySQL e Firebird

Olá, tive a necessidade de realizar uma consulta no meu banco de dados para gerar uma lista de IDs, para poder utilizar esta como filtro por exemplo.

Como sabemos no Firebird existe a função LIST() onde a sintaxe fica da seguinte forma.

Exemplo da função List() do Firebird:
SELECT LIST(CLI_ID) AS LISTA FROM CLIENTE;

Porém, necessitei do mesmo recurso para o banco de dados MySQL, para isso utilize a função GROUP_CONCAT(). Veja a sintaxe:

Exemplo da função Group_concat() do MySQL:
SELECT GROUP_CONCAT(distinct CLI_ID) AS LISTA FROM CLIENTE;

* Utilize o distinct antes do campo desejado para que o resultado do campo não repita caso o campo desejado não seje a chave primária.

Ambas consultas nos retornará a lista de IDs separadas por vírgula(Padrão), exemplo: 

Resultado do "campo" Lista:
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19

Ah... Interessante, mas qual a utilização de uma lista dessas???

Com este resultado é possível realizar uma nova consulta de por exemplo contas a receber dos clientes que compõe ou não a lista gerada....

Exemplo da consulta UTILIZANDO (IN) clientes que compõe a Lista:
SELECT * FROM CONTAS_RECEBER WHERE CLI_ID IN (:LISTA);

Exemplo da consulta EXCLUINDO (NOT 'campo' IN) clientes que compõe a Lista:
SELECT * FROM CONTAS_RECEBER WHERE NOT CLI_ID IN (:LISTA);
 
É isso ai, comentem, compartilhe e sugira novos posts para o Blog! e até a próxima... :)