Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Ramos123

Criar tabela

Mensagens Recomendadas

Ramos123

Boa Tarde alguém pode me ajudar a criar uma tabela my sql só com género feminino .

Só sei criar com dois géneros. 

create table Instrutores 
(
	ins_codigo int primary key,
	ins_nome char(20) not null,
	ins_genero char(02) CHECK (Al_Genero IN ('F','M')),
	ins_email char(25)UNIQUE CHECK (Al_Email LIKE'%@%'),
    ins_codmodalidade int,
	constraint fk_Instrutores_Modalidades foreign key(ins_codmodalidade) references Modalidades(md_codigo),
);

Cumprimentos :Ramos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo
13 minutes ago, Ramos123 said:

não  percebi a sua pergunta 

e eu não percebi a tua

podes dizer clamarente o que realmente queres ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

se todos os registos existentes na tabela tem o mesmo valor para o mesmo campo, isso so indica que a coluna nao esta la a fazer nada. Por isso remove a coluna em questao


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
devgoncalo
Em 23/02/2017 às 16:19, HappyHippyHippo disse:

se todos os registos existentes na tabela tem o mesmo valor para o mesmo campo, isso so indica que a coluna nao esta la a fazer nada. Por isso remove a coluna em questao

certo

se por acaso não quiseres remover a coluna, então podes colocar no campo

DEFAULT 'F'

assim sempre que for inserido um registo terá o valor de F.

cumps

Editado por devgoncalo
  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Podes fazer um conjunto: ins_genero set('M', 'F')

Assim só aceita o M e o F como valores para o campo ins_genero. Se quiseres mais, ou menos, opções, basta adicionares.
Se colocares o campo como ins_genero set('F') NOT NULL DEFAULT 'F', só te vai aceitar unica e exclusivamente o valor 'F'.

  • Voto 1

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Ramos123

 Tentei por como me disse M6 

Mas da um erro se me poder ajudar ficava muito grato.

Não sei se é do oracle já que tenho tido problemas com programa instalei programa em inglês e da me em francês .

create table intrutoresfem
(
	ins_codigo int primary key,
	ins_nome char(20) not null,
	ins_genero set('F') NOT NULL DEFAULT 'F',
	ins_email char(25)UNIQUE CHECK (Al_Email LIKE'%@%'),
    ins_codmodalidade int,
	constraint fk_Instrutores_Modalidades foreign key(ins_codmodalidade) references Modalidades(md_codigo)
);


 

 

Cumprimentos:Ramos

 

Editado por Ramos123

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Mas afinal estás a usar um MySQL ou um Oracle? É que não é a mesma coisa!

Sem dizeres qual é o erro não será possível ajudar.

 


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Ramos123

M6 estou a usar o workbench o erro é este doublon dans une clé de la table que traduzido em português significa duplicar uma tabela na chave.

se me conseguires ajudar seria muito bom amigo aguardo uma resposta 

 

Cumprimentos:Ramos 

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Ramos123
create table intrutoresfem122
(
	ins_codigo int primary key,
	ins_nome char(09) not null,
	ins_genero set('F') NOT NULL DEFAULT 'F',
	ins_email char(25)UNIQUE CHECK (Al_Email LIKE'%@%'),
    ins_codmodalidade int,
	constraint fk_Instrutores_Modalidades foreign key(ins_codmodalidade) references Modalidades(md_codigo)
);

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
devgoncalo

olá

esse código não contém erros.

assim de repente o que me parece que está a acontecer é que queres inserir dois registos com o mesmo ins_codigo e ele não deixa por ser chave primária. 

para evitar isso eu sugeria que esse campo fosse auto increment:

ALTER TABLE `intrutoresfem122`
    CHANGE COLUMN `ins_codigo` `ins_codigo` INT(11) NOT NULL AUTO_INCREMENT FIRST;

cumps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

O Workbench é apenas uma interface gráfica, não tem nada a ver com o facto de usares o MySQL ou o Oracle.
Fiquei na dúvida porque colocaste a questão no tópico do MySQL mas queixaste-te do Oracle.

Quanto ao erro, estou com o devgoncalo, isso parece ser um erro de chave duplicada.
Mas para te ajudar tens de dar mais informação, mostrar o erro completo e mostrar o script que estás a correr.

  • Voto 1

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Ramos123

O script é o seguinte M6

create table intrutoresfem122
(
	ins_codigo int primary key,
	ins_nome char(29) not null,
	ins_genero set('F') NOT NULL DEFAULT 'F',
	ins_email char(28)UNIQUE CHECK (Al_Email LIKE'%@%'),
    ins_codmodalidade int,
	constraint fk_Instrutores_Modalidades foreign key(ins_codmodalidade) references Modalidades(md_codigo)
);

E o erro é este 11:14:46    Error Code: 1022. Ecriture impossible, doublon dans une clé de la table 'intrutoresfem122'   

Tb Tentei com o que me aconselhou o Devgoncalo deu o seguinte erro

create table intrutoresfem122
(
	ins_codigo int primary key,
	ins_nome char(29) not null,
	ins_genero set('F') NOT NULL DEFAULT 'F',
	ins_email char(28)UNIQUE CHECK (Al_Email LIKE'%@%'),
    ins_codmodalidade int,
	constraint fk_Instrutores_Modalidades foreign key(ins_codmodalidade) references Modalidades(md_codigo)
);

ALTER TABLE `intrutoresfem122`
    CHANGE COLUMN `ins_codigo` `ins_codigo` INT(11) NOT NULL AUTO_INCREMENT FIRST;

. Ecriture impossible, doublon dans une clé de la table 'intrutoresfem122'   

O Exercício era este Com base na tabela de instrutores, crie uma nova tabela com os instrutores do género feminino.

E foi o que eu fiz .

 

Se me conseguirem ajudar ficaria muito grato 

 

Cumprimentos:Ramos 

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
devgoncalo

ola

parece-me que se está a criar um problema maior do que é preciso.

alguns apontamentos:

- sugiro que uses o HeidiSQL (https://www.heidisql.com/) para gerires as bases de dados, é simples de usar e muito completo;
- não sei qual é o contexto, mas não me parece correto separar instrutores femininos e masculinos. a separar, então definitivamente não é necessário o campo ins_genero;
- verifica se a tabela já não existe, se já existir o código não vai funcionar;
- se a tabela não existir, então cria uma nova tabela apenas com um campo. depois, vais acrescentando os campos e salvando. assim sabes se existe algum campo a dar problemas;
- se precisares no final de tudo do código para criar a tabela, no HeidiSQL existe a opção para te gerar esse código (que será idêntico ao que tens agora);

cumps

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

eu ja percebi qual e problema (nao saber ler ou escrever enunciados) o qie tens de criar e um coisa chamada de view


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Pois, também me parece que o que é para criar é uma view e não uma tabela...


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação 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. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.