[Ajuda] MySQL - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (
https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] MySQL (
/showthread.php?tid=448345)
MySQL -
Geo1996 - 04.07.2013
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` ;
Respuesta: MySQL -
DartakousLien - 04.07.2013
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
Re: MySQL -
Mandrakke - 04.07.2013
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.
Re: MySQL -
steki. - 04.07.2013
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'.
Re: MySQL -
Mandrakke - 04.07.2013
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.
Re: MySQL -
Geo1996 - 04.07.2013
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!
Re: MySQL -
Ricop522 - 05.07.2013
Usa o ALTER TABLE, se for oq eu estou pensando .