Quando você utiliza o PGAdmin III para criar suas tabelas pode deparar com o mesmo problema que eu.
No início, achei apenas estranho, achei que deveria apenas me acostumar, mas não utilizo o PostgreSQL diretamente, normalmente crio um acesso externo seja em object pascal (afinal venho do mundo do Delphi) ou em PHP. E é justamente com o PHP que mais me afetou o problema das aspas.
Usando o PGAdmin diretamente para criar minhas tabelas de dados, o sql de criação de uma delas foi automaticamente gerado assim:
CREATE TABLE midias
(
"CODIGO_DA_MIDIA" numeric(20,0) NOT NULL, -- Código da mídia
"PREFIXO" character(3),
"TITULO" character(100),
"TIPO" character(50),
"LOCALIZACAO" character(100),
"OBS" character(140),
"EMPRESTADO" character(1),
"EMP_PESSOA" character(100),
"TEL_PESSOA" character(20),
"EML_PESSOA" character(50),
CONSTRAINT midias_indice PRIMARY KEY ("CODIGO_DA_MIDIA" )
);
Funciona, e perfeitamente, mas se você entrar um comando do tipo:
select * from midias where CODIGO_DA_MIDIA = 1
O PostgreSQL vai dizer que sua sintaxe está errada, ou seja, você deveria ter utilizado:
select * from midias where "CODIGO_DA_MIDIA" = 1
Isto irá levar a sérios problemas especialmente quando você tentar definir uma variável no PHP, do tipo:
$teste = "select * from midias where "CODIGO_DA_MIDIA" = 1"
Veja que o PHP vai começar uma imensa confusão por causa de suas aspas.
O que acontece é que o PGAdmin se utiliza das aspas como padrão, então você, ao criar suas tabelas utilize o comando create, mas sem elas assim lhe poupará uma imensa dor de cabeça, assim:
CREATE TABLE midias
(
codigo_da_midia numeric(20,0) NOT NULL, -- Código da mídia
prefixo character(3),
titulo character(100),
tipo character(50),
localizacao character(100),
obs character(140),
emprestado character(1),
emp_pessoa character(100),
tel_pessoa character(20),
eml_pessoa character(50),
CONSTRAINT midias_indice PRIMARY KEY (codigo_da_midia )
);
Assim, depois de popular sua tabela, sua query ficará assim:
select * from midias where codigo_da_midia = 1
sem a necessidade do uso de aspas. Facilitando a vida na hora de escrever seu script PHP ou seus códigos em Object Pascal (Quando eu falo desta última, estou me referindo ao Lazarus, viu)
Lembrando que o Linux é case sensitive né!
____________________________________________________
Seja Livre. Use GNU/Linux
Nenhum comentário:
Postar um comentário