31.07.2018, 14:31
(
Последний раз редактировалось DiegoR; 31.07.2018 в 15:21.
)
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б:
Links recomendandos:
w3schools
wiki sa-mp
Junзхes
Modelagem de dados
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
PHP код:ALTER TABLE jogadores ADD dinheiro INT(11) DEFAULT '0'
PHP код:ALTER TABLE tabela DROP COLUMN coluna;
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);
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);
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);
- 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));
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);
Links recomendandos:
w3schools
wiki sa-mp
Junзхes
Modelagem de dados