• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

gadNY

SQL tabelas

18 mensagens neste tópico

boa tarde, eu tenho o seguinte:

1 tabela alunos

1 tabela turmas

1 aluno so pertence a uma turma, logo no perfil do aluno vai ter:

nome

idade

...

id_turma (para associar a turma)

em sql ja fiz o diagrama com a ligacao entre os campos, ou seja o id_turma da tabela turmas com o id_turma da tabela alunos, e no insert fiz o seguinte:

INSERT INTO alunos
                      (nome, idade, telefone, morada)
VALUES     ('aluno', 18, 91+++++, 'na rua')

mas ele insere tudo menos o id_turma, o id_turma na tabela turma esta como auto-increment.

o que tenho que fazer mais para ele adicionar automaticamente ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Deixa-me ver se percebi,

o id turma é chave estrangeira na tabela de alunos e chave primária na tabela turmas, é isso?

Se esse for o caso, tens q ir buscar o id da turma á tabela de turmas e adicionares tu valor no teu insert á tabela de alunos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nao era suposto aquilo ir buscar o id a a tabela turmas e inserir automaticamente ?

o campo id_turma na tabela alunos esta como simples campo, mas esta ligado ao campo id_turma na tabela turmas, ou seja e o mesmo .

e que mesmo o id_aluno que esta na tabela nao insere :x

sera por ser a chave primaria ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O campo id_turma na tabela alunos devia ser definido como chave estrangeira.

Apesar de estar relacionado com a outra tabela, n sei se vai buscar o valor automaticamente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O campo id_turma na tabela alunos devia ser definido como chave estrangeira.

Apesar de estar relacionado com a outra tabela, n sei se vai buscar o valor automaticamente.

mas como adiciono a chave estrangeira ? :x

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nao me ajudou em nada :x

estou a usar vs2008 e queria fazer em modo design, nao codigo :x

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

basicamente o que eu tenho e isto :

tabela alunos:

id_aluno

nome

idade

..

id_turma

tabela turma:

id_turma

nometurma

anoturma

e quero que ao adicionar um aluno insira automaticamente o id_aluno, e e' isso que nao esta a fazer :x

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e quero que ao adicionar um aluno insira automaticamente o id_aluno, e e' isso que nao esta a fazer :x

Para isso basta o campo id_aluno ser um campo identidade. Com um incremento de 1 em 1.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e quero que ao adicionar um aluno insira automaticamente o id_aluno, e e' isso que nao esta a fazer :x

Tens definido o campo id_aluno como Is Identity ?

EDIT: Opss! O bruno1234 já tinha respondido :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim esta, mas ele nao insere :x

sera por ser a chave primaria ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim esta, mas ele nao insere :x

sera por ser a chave primaria ?

E que tal mostrares código ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

INSERT INTO alunos

                      (nome, idade, telefone, morada)

VALUES    ('aluno', 18, 91+++++, 'na rua')

aqui eu nao refiro o id_aluno antes do nome porque deveria incrementar automaticamente :x

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E dá algum erro?

Qual é o resultado q estás a obter?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E dá algum erro?

Qual é o resultado q estás a obter?

simplesmente nao incrementa :x

eu ja fiz outro projecto fiz os mesmos passos e esta tudo direito, devo ter alterado algo que nao me lembre :s

quando tiver outra vez com o projecto vou ver tudo e tentar descobrir alguma coisa obrigado , )

ja agora, encontrei outra duvida :s

numa tabela tenho de ter dois campos:

1 que marque a hora

1 que marque a data

estes campos vao ser inseridos atraves de hardware , mas para testar estava a tentar fazer um insert, o problema e que o sql nao aceita esta sintaxe:

INSERT INTO ponto(hora, data)
VALUES(23:15:00,11-05-2009)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Assim directamente não dá, quanto mto tenta por entre plicas '11-05-2009' e na hora tb

0

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