Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Executar um script para criar DataBase - Eroo de syntax


Joseh

Pergunta

Tenho este código:

CREATE DATABASE IF NOT EXISTS books;

USE books;

DROP TABLE IF EXISTS authorISBN;
DROP TABLE IF EXISTS titles;
DROP TABLE IF EXISTS authors;
DROP TABLE IF EXISTS publishers;

CREATE TABLE publishers (
    publisherID INT NOT NULL AUTO_INCREMENT,
    publisherName varchar (30) NOT NULL,
    PRIMARY KEY (publisherID)
) TYPE=INNODB
;

CREATE TABLE authors (
    authorID INT NOT NULL AUTO_INCREMENT,
    firstName varchar (20) NOT NULL,
    lastName varchar (30) NOT NULL,
    PRIMARY KEY (authorID)
) TYPE=INNODB
;

CREATE TABLE titles (
    isbn varchar (20) NOT NULL,
    title varchar (100) NOT NULL,
    editionNumber INT NOT NULL,
    copyright varchar (4) NOT NULL,
    publisherID INT NOT NULL,
    imageFile varchar (20) NOT NULL,
    price REAL NOT NULL,
    PRIMARY KEY (isbn),
    INDEX (publisherID),
    FOREIGN KEY (publisherID) REFERENCES publishers(publisherID)
) TYPE=INNODB
;
CREATE TABLE authorISBN (
    authorID INT NOT NULL,
    isbn varchar (20) NOT NULL,
    INDEX (authorID),
    FOREIGN KEY (authorID) REFERENCES authors (authorID), 
    INDEX (isbn),
    FOREIGN KEY (isbn) REFERENCES titles (isbn)
) TYPE=INNODB
;

Tentei executá-lo assim:

C:\arquivos de programas\mysql\MySQL Sever 5.5\bin>mysql -u root -p

Enter password: *********

mysql> source books.sql

Deu esse erro:

ERROR 1064 (4200):you have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for right syntax to use near 'TYPE=INNODB'at line 6

você tem um erro em sua sintaxe SQL; verifique o manual que correspondente à sua versão do servidor MySQL para a sintaxe direita ao uso próximo "TYPE = INNODB'at linha 6

O scritp é originário do MySql 4.0 e eu quero executá-lo no MySql 5.5;

O que está errado?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Tenho este código:

CREATE DATABASE IF NOT EXISTS books;
...
CREATE TABLE publishers (
    publisherID INT NOT NULL AUTO_INCREMENT,
    publisherName varchar (30) NOT NULL,
    PRIMARY KEY (publisherID)
) TYPE=INNODB;
...

Tentei executá-lo assim:

C:\arquivos de programas\mysql\MySQL Sever 5.5\bin>mysql -u root -p

Enter password: *********

mysql> source books.sql

Deu esse erro:

ERROR 1064 (4200):you have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for right syntax to use near 'TYPE=INNODB'at line 6

você tem um erro em sua sintaxe SQL; verifique o manual que correspondente à sua versão do servidor MySQL para a sintaxe direita ao uso próximo "TYPE = INNODB'at linha 6

O scritp é originário do MySql 4.0 e eu quero executá-lo no MySql 5.5;

O que está errado?

TYPE foi a palavra chave para determinar a engine de uma tabela até a versão 4.1.

A partir da versão 5.x passou-se a usar a palavra ENGINE.

Substitua as palavras TYPE por ENGINE em seu script e execute novamente.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...