[Ajuda] MySQL
#1

Existe alguma forma de deletar a coluna 0 por exemplo ?


Nгo quero deletar por nome como no caso.
pawn Код:
ALTER TABLE  `tabela` DROP  `coluna` ;
Reply
#2

acho que nao dб para deletar por id, entao й melhor voce obter os nomes das colunas e depois sim eliminar a que quiser, no caso, o primeiro resultado
fica um link http://stackoverflow.com/questions/4...t-column-names

Obs. nunca testei
Reply
#3

Basta deletar utilizando uma procedure/funзгo.

fiz uma aqui rapidamente e nгo sei se estб funcionando, se nгo estiver me informe o erro.

pawn Код:
delimiter $$

CREATE DEFINER=`usuario`@`%` PROCEDURE `deletarColunaPorID`(ColunaID INT)
begin
    declare _sql VARCHAR(500);

    set @nomeColuna := '';
    SELECT column_name FROM information_schema.columns where table_name = 'tabela_nome' LIMIT ColunaID,1 INTO @nomeColuna;
   
    SET @_sql = CONCAT('ALTER TABLE tabela_nome DROP ', @nomeColuna);

    select @_sql;

    prepare sm1 from @_sql;
    execute sm1;
    deallocate prepare sm1;
end$$
execute o cуdigo acima pra armazenar a procedure no seu banco de dados e depois execute o cуdigo abaixo para chamar a procedure:

pawn Код:
call deletarColunaPorID(X);
Onde "X" й o id da coluna que vocк quer deletar, nгo se esqueзa de alterar tambйm "tabela_nome" para a tabela desejada e "usuario" para o usuбrio que vocк utiliza para se conectar com o banco.
Reply
#4

Quote:
Originally Posted by Mandrakke
Посмотреть сообщение
Basta deletar utilizando uma procedure/funзгo.

fiz uma aqui rapidamente e nгo sei se estб funcionando, se nгo estiver me informe o erro.

pawn Код:
delimiter $$

CREATE DEFINER=`brazucas`@`%` PROCEDURE `deletarColunaPorID`(ColunaID INT)
begin
    declare _sql VARCHAR(500);

    set @nomeColuna := '';
    SELECT column_name FROM information_schema.columns where table_name = 'tabela_nome' LIMIT ColunaID,1 INTO @nomeColuna;
   
    SET @_sql = CONCAT('ALTER TABLE tabela_nome DROP ', @nomeColuna);

    select @_sql;

    prepare sm1 from @_sql;
    execute sm1;
    deallocate prepare sm1;
end$$
execute o cуdigo acima pra armazenar a procedure no seu banco de dados e depois execute o cуdigo abaixo para chamar a procedure:

pawn Код:
call deletarColunaPorID(X);
Onde "X" й o id da coluna que vocк quer deletar, nгo se esqueзa de alterar tambйm "tabela_nome" para a tabela desejada.
Isso nгo precisa ser feito por procedures e deve-se alterar as flags de conexгo do plugin do BlueG para que stored procedures funcionem. Sem falar que a procedure sу funcionarб para o usuбrio 'brazucas'.
Reply
#5

Ele nгo especificou se quer executar dentro do servidor, e acho que nгo й difнcil alterar o usuбrio para o que ele usa no banco. De qualquer maneira eu editei o meu post.
Reply
#6

Quote:
Originally Posted by Mandrakke
Посмотреть сообщение
Ele nгo especificou se quer executar dentro do servidor, e acho que nгo й difнcil alterar o usuбrio para o que ele usa no banco. De qualquer maneira eu editei o meu post.
Sim, quero utilizar dentro do servidor.

Minha ideia й, caso o nъmero de colunas seja maior que X, ele delete a 2Є coluna, para que a ъltima possa ser criada!
Reply
#7

Usa o ALTER TABLE, se for oq eu estou pensando .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)