Ir para o conteúdo
Romanovs

Ajuda- SQL

Mensagens Recomendadas

Romanovs    0
Romanovs

Estou para aqui um bocado confuso e espero que me ajude :biggrin:

Ao criar uma tabela no PHPmyAdmin e dá-me erro assim na linha de comando:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'not null,

titulo not null,

id_n int not null auto_increment,

A linha que escrevi é a seguinte:

CREATE TABLE noticias(

DATA varchar( 6 ) NOT NULL ,
texto NOT NULL ,
titulo NOT NULL ,
id_n int NOT NULL AUTO_INCREMENT ,
FOREIGN KEY ( nome ) REFERENCES membro( nome ) ,
PRIMARY KEY ( id_n ) 
) ;

P.S.- Quero relacionar o campo nome com um igual que tenho na tabela membro penso que seja como meti

P.P.S.- O varchar influencia no tamanho dos campos? desculpem a noobice :wallbash:

Por agora é tudo  :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
rgcaldas    0
rgcaldas

Não definiste o tipo de dados dos campos texto e titulo, e no foreign key estás só a definir a constrain, onde está o campo?

Quanto ao varchar, não sei o que queres dizer com influenciar o tamanho dos campos, mas a diferença entre um char e um varchar é que o espaço ocupado por um varchar é somente o espaço necessário para os dados enquanto no char é sempre o tamanho definido.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Romanovs    0
Romanovs

Ficaria assim então não?

CREATE TABLE noticias(
membro varchar(24) NOT NULL,
dia varchar( 24 ) NOT NULL ,
texto varchar(24) NOT NULL ,
titulo varchar(24) NOT NULL ,
id_n int NOT NULL AUTO_INCREMENT ,
FOREIGN KEY ( nome ) REFERENCES membro( nome ) ,
PRIMARY KEY ( id_n ) 
) ;

Expliquem-me melhor essa parte do que é aquilo dentro dos () tanto no char como no varchar se não chatear muito :P.

"Explica-me como se fosse uma criança de quatro anos."

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
rgcaldas    0
rgcaldas

dentro dos () defines o numero de caracteres máximo do campo, e novamente a diferença entre os dois tipos é que o char guarda o espaço desse numero de caracteres e o varchar só vai guardar o numero efectivo de caracteres que lá colocares.

Mas para que não penses que são só vantagens com o varchar, ele requer mais processamento para gerir, especialmente se a BD for grande.

E continua a faltar o campo nome. O que queres deve ser isto:

CREATE TABLE noticias(
membro varchar(24) NOT NULL,
dia varchar( 24 ) NOT NULL ,
texto varchar(24) NOT NULL ,
titulo varchar(24) NOT NULL ,
id_n int NOT NULL AUTO_INCREMENT ,
nome char(24) NOT NULL,
FOREIGN KEY ( nome ) REFERENCES membro( nome ) ,
PRIMARY KEY ( id_n ) 
) ;

supondo que o campo nome na outra tabela é do tipo char

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade