Problemas com a Sintaxe type = InnoDB

MySQL

04/04/2006

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

Curtidas 0

Respostas

Otto

Otto

04/04/2006

qual a versão do seu mysql?


GOSTEI 0
Pedrobsb

Pedrobsb

04/04/2006

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


GOSTEI 0
Otto

Otto

04/04/2006

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.. ;)


GOSTEI 0
Pedrobsb

Pedrobsb

04/04/2006

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


GOSTEI 0
Otto

Otto

04/04/2006

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 :)


GOSTEI 0
Pedrobsb

Pedrobsb

04/04/2006

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]


GOSTEI 0
Otto

Otto

04/04/2006

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



tenta assim :)


GOSTEI 0
Pedrobsb

Pedrobsb

04/04/2006

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


GOSTEI 0
Pedrobsb

Pedrobsb

04/04/2006

[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;


GOSTEI 0
POSTAR