[Tool/Web/Other] Erros comuns 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)
+----- Forum: Lançamentos/Releases (
https://sampforum.blast.hk/forumdisplay.php?fid=56)
+----- Thread: [Tool/Web/Other] Erros comuns MySQL (
/showthread.php?tid=657085)
Erros comuns MySQL -
DiegoR - 31.07.2018
Estive olhando postagens no fуrum/discord sobre o uso de MySQL no SA-MP e percebi que muitos programadores cometem erros ao utilizar a linguagem SQL e o plugin MySQL do BlueG, entгo resolvi fazer este tutorial com os erros mais comuns cometidos pelos membros tanto na linguagem SQL quando no uso do plugin.
Caso vocк saiba de alguma outra gafe cometida pelos membros e queira adicionar ao tуpico, comente ou me mande MP que adiciono ao tуpico.
Bom vamos lб:
- Deletar toda tabela quando cria uma coluna errada
Este й o erro mais comum pelo que percebi entre os membros do fуrum, muitas vezes quando querem adicionar uma coluna ou alterar uma coluna, deletam toda tabela e a recriam novamente, alйm de ser trabalhoso vocк perde todos os dados da tabela, para isso utiliza a instruзгo ALTER TABLE, veja um exemplo:
Para adicionar uma coluna na tabela utiliza-se a instruзгo:
PHP код:
ALTER TABLE tabela ADD coluna TIPODEDADO
por exemplo:
PHP код:
ALTER TABLE jogadores ADD dinheiro INT(11) DEFAULT '0'
Para excluir apenas uma coluna da tabela:
PHP код:
ALTER TABLE tabela DROP COLUMN coluna;
exemplo:
PHP код:
ALTER TABLE jogadores DROP COLUMN dinheiro;
- Tipo de dado ao ler o cache
Vejo muitos tуpicos de pessoa pedindo ajuda para ler os dados do banco, que fazer o cуdigo porйm nгo funciona, porйm apenas nгo percebem que cada tipo de dado tem sua respectiva funзгo, por exemplo:
Eu costumo identificar as colunas pelo seu nome, ou seja, uso as funзхes:
cache_get_value_name para string
PHP код:
new dest[128];
cache_get_value_name(0, "none", dest);
printf("The O valor na coluna 'nome' й '%s'.", dest);
cache_get_value_name_int para inteiros
PHP код:
new int_dest;
cache_get_value_name_int(2, "dinheiro", int_dest);
printf("O valor da terceira linha da coluna 'dinheiro' й '%d'.", int_dest);
cache_get_value_name_float para floats
PHP код:
new Float:float_dest;
cache_get_value_name_float(3, "pos_x", float_dest);
printf("O valor da quarta linha da coluna 'pos_x' й '%f'.", float_dest);
exemplos por: wiki samp
- Colunas com nome em sequencia
PHP код:
CREATE TABLE tabela (
id INT(11) PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(24) NOT NULL,
carro_1 INT(11),
carro_2 INT(11),
carro_3 INT(11),
...
carro_n INT(11));
Quase todos que conheзo do fуrum fazem isso, alguns por ter aprendido assim, outros por costume
O MySQL й um SGBD Relacional, ou seja, ele tem relaзхes, vocк deve relacionar as tabelas, criar colunas em sequencias da trabalho para usar, para manutenзгo, legibilidade, etc...
Exemplo de tabelas relacionadas:
PHP код:
CREATE TABLE jogador(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(24) NOT NULL,
// outras colunas da tabela, nenhuma sendo a chave do carro
);
CREATE TABLE carro(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
dono INT(4) NOT NULL, // aqui esta o relacionamento, este serб o ID do dono do veiculo,
FOREIGN KEY (dono) REFERENCES jogador(id) ON DELETE CASCADE);
para mais informaзхes acesse esse tutorial
Estes sгo os "erros" que mais encontrei no tempo que estive observando tуpicos e conversas sobre SQL, com o tempo vou adicionando mais conteъdo ao tуpico
Links recomendandos:
w3schools
wiki sa-mp
Junзхes
Modelagem de dados
Re: Erros comuns MySQL -
Domingues - 31.07.2018
Muito bom Mano.
Re: Erros comuns MySQL -
NathanT - 31.07.2018
Bom tutorial, acho que vocк poderia comentar tambйm a questгo do SQL Injection; nгo й exatamente um erro do programador mas acho que merecia lugar em seu tуpico tambйm. Poderia citar exemplos de onde ele mais pode ocorrer, etc.
Re: Erros comuns MySQL -
Cauezin - 31.07.2018
Muito bom.
Re: Erros comuns MySQL -
HelderPT - 03.08.2018
Bom tutorial para quem estб iniciando estudos em MySQL