Problemas com a Sintaxe type = InnoDB

04/04/2006

0

Olá pessoal sou novo aqui no forum gostaria de ajuda pois estou criando umas tabelas no mysql que gerei direto da Modelagem usando PowerDesigner, só que quando mando gerar no Msyql - Front ele ta retornando um erro como esse [b:66125da2a4]1064 - You have an error in your SQL syntax near ´InnoDB´ at line 19[/b:66125da2a4], dizendo que eu tenho um erro na minha SQL por conta desse tipo InnoDB, alguem pode me ajudar abaixo segue as tabelas que estou criando, eu sei que o InnoDB serve para as restrições de integridade CASCADE, RESTRICT, SET NULL e SET DEFAULT preciso desse recurso pois vou querer utilizar o CASCADE, pois quando quiser apagar um registro de uma tabela as outras relacionadas deverão ser apagados também entendem: segue abaixo o código SQL utilizado pra criar as tabelas e que estão retornando o erro acima mencionado.

[b:66125da2a4]/*==============================================================*/
/* Table: ALUNO */
/*==============================================================*/
create table ALUNO
(
COD_ALUNO int not null,
COD_CURSO int not null,
COD_USUARIO int,
LOGIN_USUARIO varchar(18),
NOME varchar(45),
DATA_NASC varchar(10),
NOME_PAI varchar(45),
NOME_MAE varchar(45),
RG varchar(25),
CPF varchar(14),
primary key (COD_ALUNO)
)
comment = ´Dados Cadastrais dos Alunos´
type = InnoDB;

/*==============================================================*/
/* Index: ´CURSO_ALUNO_FK´ */
/*==============================================================*/
create index CURSO_ALUNO_FK
(
COD_CURSO
);
[/b:66125da2a4][/b]


Pedrobsb

Pedrobsb

Responder

Posts

04/04/2006

Otto

qual a versão do seu mysql?


Responder

04/04/2006

Pedrobsb

ai brigado ok só esqueci de mencionar a versão né mais ai vai 3.23, isso tem alguma relação com o retorno do erro?

valeu cara


Responder

05/04/2006

Otto

sim sim, essa versão nao suporta o tipo innodb, eu tive de bota a versão 4.1 do mysql pra poder trabalhar com innodb.. ;)


Responder

05/04/2006

Pedrobsb

AI CARA BRIGADÃO PELA AJUDA BLZ RESOLVEU SIM SÓ QUE AGORA TEM OUTRO PROBLE TIPO AS TABELAS SÃO RELACIONADAS SACA DAÍ ELE TÁ RETORNANDO OUTRO ERRO OLHE AI O CÓDIGO E O ERRO RETORNADO

[b:6d0f62bd98]create table ALUNO
(
COD_ALUNO int not null,
COD_CURSO int not null,
COD_USUARIO int,
LOGIN_USUARIO varchar(18),
NOME varchar(45),
DATA_NASC varchar(10),
NOME_PAI varchar(45),
NOME_MAE varchar(45),
RG varchar(25),
CPF varchar(14),
primary key (COD_ALUNO)
)
comment = ´Dados Cadastrais dos Alunos´
type = InnoDB;

/*==============================================================*/
/* Index: ´CURSO_ALUNO_FK´ */
/*==============================================================*/
create index CURSO_ALUNO_FK
(
COD_CURSO
);[/b:6d0f62bd98]

[u:6d0f62bd98][i:6d0f62bd98][b:6d0f62bd98]QUANDO MANDO GERAR A INSTRUÇÃO SQL RETORNA O SEGUINTE ERRO[/b:6d0f62bd98][/i:6d0f62bd98][/u:6d0f62bd98]


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 ´(COD_CURSO )´ at line 5.

VALEU PRA QUEM PODER AJUDAR


Responder

05/04/2006

Otto

hueuhe, cara, so me lembro as vezes que apanhei pra criar as fk, umas vezes pega so quando estou criando a tabela, outras não. hueuhe,,, mas, essa agora pefga sucegado, olha só, tenta assim:


alter table    tb_tipo_modelo
add CONSTRAINT ´tb_tp_modelo_tp_maq´
FOREIGN KEY    (´nident_tipo_maquina´)
REFERENCES     ´tb_tipo_maquina´ (´nidentificador´)


tenta e me diz se funcionou :)


Responder

05/04/2006

Pedrobsb

cara consegui achar esse código que responde eu acho as minhas perguntas analisa ele ai

[b:a7f888686c]CREATE TABLE ´empresa´ (
´cnpj´ varchar(14) NOT NULL default ´´,
´nome´ varchar(30) NOT NULL default ´´,
´endereco´ varchar(80) default NULL,
´complemento´ varchar(20) default NULL,
´cidade´ varchar(25) default NULL,
´estado´ varchar(20) default NULL,
´bairro´ varchar(20) default NULL,
´cep´ varchar(9) default NULL,
´telefone´ varchar(14) default NULL,
PRIMARY KEY (´cnpj´),
UNIQUE KEY ´Unique´ (´nome´)
) TYPE=InnoDB COMMENT=´Tabela para armazenas empresas´;

DROP TABLE IF EXISTS ´sabesbd´.´servicoprestado´;
CREATE TABLE ´servicoprestado´ (
´idPK´ bigint(20) unsigned NOT NULL auto_increment,
´cnpj_clienteFK´ varchar(14) NOT NULL default ´´,
´titulo´ varchar(25) NOT NULL default ´´,
´descricao´ varchar(25) default NULL,
´dataInicio´ DATETIME,
´dataTermino´ DATETIME,
´comentario´ VARCHAR(255),
´estado´ VARCHAR(20),
´cidade´ VARCHAR(25),
´bairro´ VARCHAR(25),
PRIMARY KEY (´idPK´)
) TYPE=InnoDB;

ALTER TABLE ´sabesbd´.´servicoprestado´ ADD CONSTRAINT
´FK_servicoprestado_1´ FOREIGN KEY ´FK_servicoprestado_1´ (´cnpj_clienteFK´)
REFERENCES ´empresa´ (´cnpj´)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
[/b:a7f888686c]


Responder

06/04/2006

Otto

 ALTER TABLE ´sabesbd´.´servicoprestado´ 
ADD CONSTRAINT ´FK_servicoprestado_1´ 
FOREIGN KEY  (´cnpj_clienteFK´)
REFERENCES ´empresa´ (´cnpj´)
ON DELETE RESTRICT
ON UPDATE RESTRICT; 



tenta assim :)


Responder

06/04/2006

Pedrobsb

agora sim deu certo valeu pela força cara brigadão mesmo


Responder

08/04/2006

Pedrobsb

[b:a4c4814193][color=red:a4c4814193]AI CARA VC ESTÁ AJUDANDO MUITO MAIS SURGIU UMA OUTRA DUVIDA EU ESTAVA GERANDO O CÓDIGO SQL DA FORMA QUE SEGUE ABAIXO SÓ QUE ESTAVA DANDO ERRO NAS PARTES QUE ESTÃO EM NEGRITO, DAÍ O QUE EU FIZ COMENTEI ELA /* */ E SÓ ASSIM CONSEGUI GERAL AS TABELAS TU TEM ALGUMA DICA, TIPO EU POSSO FAZER ISSO?

VALEU UM ABRAÇO,[/color:a4c4814193][/b:a4c4814193]


/* Table: ALUNO */
/*==============================================================*/
create table ALUNO
(
COD_ALUNO int not null,
COD_CURSO int not null,
COD_USUARIO int,
LOGIN_USUARIO varchar(18),
NOME varchar(45),
DATA_NASC varchar(10),
NOME_PAI varchar(45),
NOME_MAE varchar(45),
RG varchar(25),
CPF varchar(14),
primary key (COD_ALUNO)
)
comment = ´Dados Cadastrais dos Alunos´
type = InnoDB;

/*==============================================================*/
/* Index: ´CURSO_ALUNO_FK´ */
/*==============================================================*/
/*create index CURSO_ALUNO_FK
(
COD_CURSO
);
/*==============================================================*/
/* Index: ´REFERENCE_6_FK´ */
/*==============================================================*/
[b:a4c4814193]create index REFERENCE_6_FK
(
COD_USUARIO,
LOGIN_USUARIO
);[/b:a4c4814193]
/*==============================================================*/
/* Table: CURSOS */
/*==============================================================*/
create table CURSOS
(
COD_CURSO int not null,
NOME_CURSO varchar(45),
DESC_CURSO text,
TIPO_CURSO varchar(25),
primary key (COD_CURSO)
)
comment = ´Dados dos cursos oferecidos de Graduação e Pós-graduação´
type = InnoDB;

/*==============================================================*/
/* Table: DISCIPLINA */
/*==============================================================*/
create table DISCIPLINA
(
COD_DISCIPLINA int not null,
CARGA_HORARIA varchar(10),
EMENTA text,
primary key (COD_DISCIPLINA)
)
comment = ´Dados das Disciplinas oferecidas´
type = InnoDB;

/*==============================================================*/
/* Table: DISCIPLINA_ALUNO */
/*==============================================================*/
create table DISCIPLINA_ALUNO
(
COD_ALUNO int not null,
COD_DISCIPLINA int not null,
primary key (COD_ALUNO, COD_DISCIPLINA)
)
type = InnoDB;

/*==============================================================*/
/* Index: DISCIPLINA_ALUNO_FK */
/*==============================================================*/
[b:a4c4814193]create index DISCIPLINA_ALUNO_FK on DISCIPLINA_ALUNO
(
COD_ALUNO
);[/b:a4c4814193]
/*==============================================================*/
/* Index: DISCIPLINA_ALUNO_FK2 */
/*==============================================================*/
create index DISCIPLINA_ALUNO_FK2 on DISCIPLINA_ALUNO
(
COD_DISCIPLINA
);

/*==============================================================*/
/* Table: FUNCIONAIRO */
/*==============================================================*/
create table FUNCIONAIRO
(
COD_FUNC int not null,
COD_PROFESSOR int not null,
COD_USUARIO int not null,
LOGIN_USUARIO varchar(18) not null,
SEXO_FUNC varchar(25),
ESTADO_CIVIL varchar(32),
NOME_FUNC varchar(45),
DATA_NASC_FUNC varchar(12),
RG_FUNC varchar(25),
CPF_FUNC varchar(14),
CARGO varchar(25),
E_MAIL_FUNC varchar(32),
NOME_PAI_FUNC varchar(45),
NOME_MAE_FUNC varchar(45),
primary key (COD_FUNC)
)
comment = ´Dados dos Funcionairos´
type = InnoDB;

/*==============================================================*/
/* Index: ´FUNC_PROFESSOR_FK´ */
/*==============================================================*/
[b:a4c4814193]create index FUNC_PROFESSOR_FK
(
COD_PROFESSOR
);[/b:a4c4814193]
/*==============================================================*/
/* Index: LOGIN_FUNC_FK */
/*==============================================================*/
create index LOGIN_FUNC_FK on FUNCIONAIRO
(
COD_USUARIO,
LOGIN_USUARIO
);

/*==============================================================*/
/* Table: NOTAS */
/*==============================================================*/
create table NOTAS
(
COD_NOTAS int not null,
COD_ALUNO int not null,
COD_DISCIPLINA int,
COD_MATRICULA int,
NOTA1 float,
NOTA2 float,
NOTA3 float,
NOTA4 float,
MEDIA_SEMESTRAL float,
NOTA_SEMESTRAL float,
primary key (COD_NOTAS)
)
comment = ´Notas dos alunos nas disciplinas´
type = InnoDB;

/*==============================================================*/
/* Index: ´DISCIPLINA_FK´ */
/*==============================================================*/
[b:a4c4814193]create index DISCIPLINA_FK
(
COD_DISCIPLINA
);[/b:a4c4814193]/*==============================================================*/
/* Index: ´ALUNO_NOTA_FK´ */
/*==============================================================*/
[b:a4c4814193]create index ALUNO_NOTA_FK
(
COD_ALUNO
);[/b:a4c4814193]
/*==============================================================*/
/* Table: PROFESSOR */
/*==============================================================*/
create table PROFESSOR
(
COD_PROFESSOR int not null,
COD_USUARIO int not null,
LOGIN_USUARIO varchar(18) not null,
NOME_PROFESSOR varchar(45),
COD_DISCIPLINA int,
primary key (COD_PROFESSOR)
)
comment = ´Dados dos Professores´
type = InnoDB;

/*==============================================================*/
/* Index: ´PROFESSOR_DISCIPLINA_FK´ */
/*==============================================================*/
[b:a4c4814193]create index PROFESSOR_DISCIPLINA_FK
(
COD_DISCIPLINA
);[/b:a4c4814193]
/*==============================================================*/
/* Index: LOGIN_PROF_FK */
/*==============================================================*/
create index LOGIN_PROF_FK on PROFESSOR
(
COD_USUARIO,
LOGIN_USUARIO
);

/*==============================================================*/
/* Table: PROFESSOR_DISCIPLINA */
/*==============================================================*/
create table PROFESSOR_DISCIPLINA
(
COD_DISCIPLINA int not null,
COD_PROFESSOR int not null,
primary key (COD_DISCIPLINA, COD_PROFESSOR)
)
type = InnoDB;

/*==============================================================*/
/* Index: PROFESSOR_DISCIPLINA_FK */
/*==============================================================*/
create index PROFESSOR_DISCIPLINA_FK on PROFESSOR_DISCIPLINA
(
COD_DISCIPLINA
);

/*==============================================================*/
/* Index: PROFESSOR_DISCIPLINA_FK2 */
/*==============================================================*/
create index PROFESSOR_DISCIPLINA_FK2 on PROFESSOR_DISCIPLINA
(
COD_PROFESSOR
);

/*==============================================================*/
/* Table: USUARIO */
/*==============================================================*/
create table USUARIO
(
COD_USUARIO int not null,
LOGIN_USUARIO varchar(18) not null,
SENHA_USUARIO varchar(12),
E_MAIL varchar(45),
NIVEL_USUARIO varchar(25),
primary key (COD_USUARIO, LOGIN_USUARIO)
)
comment = ´Dados dos usuarios do Sistema´
type = InnoDB;

alter table ALUNO add constraint FK_CURSO_ALUNO foreign key (COD_CURSO)
references CURSOS (COD_CURSO) on delete restrict on update restrict;

alter table ALUNO add constraint FK_REFERENCE_6 foreign key (COD_USUARIO, LOGIN_USUARIO)
references USUARIO (COD_USUARIO, LOGIN_USUARIO) on delete restrict on update restrict;

alter table DISCIPLINA_ALUNO add constraint FK_DISCIPLINA_ALUNO foreign key (COD_ALUNO)
references ALUNO (COD_ALUNO) on delete restrict on update restrict;

alter table DISCIPLINA_ALUNO add constraint FK_DISCIPLINA_ALUNO foreign key (COD_DISCIPLINA)
references DISCIPLINA (COD_DISCIPLINA) on delete restrict on update restrict;

alter table FUNCIONAIRO add constraint FK_FUNC_PROFESSOR foreign key (COD_PROFESSOR)
references PROFESSOR (COD_PROFESSOR) on delete restrict on update restrict;

alter table FUNCIONAIRO add constraint FK_LOGIN_FUNC foreign key (COD_USUARIO, LOGIN_USUARIO)
references USUARIO (COD_USUARIO, LOGIN_USUARIO) on delete restrict on update restrict;

alter table NOTAS add constraint FK_ALUNO_NOTA foreign key (COD_ALUNO)
references ALUNO (COD_ALUNO) on delete restrict on update restrict;

alter table NOTAS add constraint FK_DISCIPLINA foreign key (COD_DISCIPLINA)
references DISCIPLINA (COD_DISCIPLINA) on delete restrict on update restrict;

alter table PROFESSOR add constraint FK_LOGIN_PROF foreign key (COD_USUARIO, LOGIN_USUARIO)
references USUARIO (COD_USUARIO, LOGIN_USUARIO) on delete restrict on update restrict;

alter table PROFESSOR add constraint FK_PROFESSOR_DISCIPLINA foreign key (COD_DISCIPLINA)
references DISCIPLINA (COD_DISCIPLINA) on delete restrict on update restrict;

alter table PROFESSOR_DISCIPLINA add constraint FK_PROFESSOR_DISCIPLINA foreign key (COD_DISCIPLINA)
references DISCIPLINA (COD_DISCIPLINA) on delete restrict on update restrict;

alter table PROFESSOR_DISCIPLINA add constraint FK_PROFESSOR_DISCIPLINA foreign key (COD_PROFESSOR)
references PROFESSOR (COD_PROFESSOR) on delete restrict on update restrict;


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar