2012-09-14 14 views
29

Aquí está mi error (si necesita más información pregunte) - error de consulta SQL :1064 error en CREATE TABLE ... TYPE = MYISAM

CREATE TABLE dave_bannedwords(

id INT(11) NOT NULL AUTO_INCREMENT , 
word VARCHAR(60) NOT NULL DEFAULT '', 
PRIMARY KEY (id) , 
KEY id(id) 
) TYPE = MYISAM ; 

MySQL dijo:

1064 - Tiene un error en su sintaxis SQL; compruebe el manual que corresponde a su versión del servidor MySQL para el sintaxis derecho al uso cerca de 'TYPE = MyISAM' en la línea 6

+0

la clave (id) también es redundante. ya estará indexado debido a la clave principal – Bill

Respuesta

63

Como se documenta bajo CREATE TABLE Syntax:

Nota
La mayor TYPE opción también fue ENGINE. TYPE se desaprobó en MySQL 4.0 y se eliminó en MySQL 5.5. Al actualizar a MySQL 5.5 o posterior, debe convertir las aplicaciones existentes que se basan en TYPE para usar ENGINE en su lugar.

Por lo tanto, usted quiere:

CREATE TABLE dave_bannedwords(
    id INT(11)  NOT NULL AUTO_INCREMENT, 
    word VARCHAR(60) NOT NULL DEFAULT '', 
    PRIMARY KEY (id), 
    KEY id(id) -- this is superfluous in the presence of your PK, ergo unnecessary 
) ENGINE = MyISAM ; 
+0

Sí, eso es todo. Type solía ser un sinónimo de ENGINE pero estaba en desuso en 4.0 y eliminado en 5.5. –

+0

Gracias por toda su ayuda :) pero creo que toda la base de datos MySQL es así :( –

+1

@eggyal # 1060 - Duplicar nombre de la columna 'id' –

-2
CREATE TABLE `admnih` (
    `id` int(255) NOT NULL auto_increment, 
    `asim` varchar(255) NOT NULL default '', 
    `brid` varchar(255) NOT NULL default '', 
    `rwtbah` int(1) NOT NULL default '0', 
    `esmmwkeh` varchar(255) NOT NULL default '', 
    `mrwr` varchar(255) NOT NULL default '', 
    `tid` int(255) NOT NULL default '0', 
    `alksmfialdlil` int(255) NOT NULL default '0', 
    `tariktsjil` varchar(255) NOT NULL default '', 
    `aimwke` varchar(255) NOT NULL default '', 
    `twkie` text NOT NULL, 
    `rwtbahkasah` int(255) NOT NULL default '0', 
    PRIMARY KEY (`id`) 
) TYPE=MyISAM AUTO_INCREMENT=2 ; 
+2

¿Es esta una respuesta a la pregunta La El nombre de la tabla en la pregunta es 'dave_bannedwords', no' admnih'. – Pang

-2
SELECT Email, COUNT(*) 
FROM user_log  
WHILE Email IS NOT NULL  
GROUP BY Email  
HAVING COUNT(*) > 1  
ORDER BY UpdateDate DESC 

MySQL dicho: Documentación # 1064 - Usted tiene un error en su sintaxis SQL ; compruebe el manual que corresponde a su versión del servidor MySQL para el sintaxis derecho al uso cerca de 'TYPE = MyISAM' en la línea 36


¿Qué corrección a continuación:

CREATE TABLE users_online (
    ip varchar(15) NOT NULL default '', 
    time int(11) default NULL, 
    PRIMARY KEY (ip), 
    UNIQUE KEY id (ip), 
    KEY id_2 (ip) 
    TYPE=MyISAM; 
) 
#       
# Data untuk tabel `users_online` 
# 

INSERT INTO users_online VALUES ('127.0.0.1', 1158666872); 
+2

¿Es esta una respuesta a la pregunta? El nombre de la tabla en la pregunta es 'dave_bannedwords', no' users_online'. – Pang

-2

Prueba la siguiente consulta

CREATE TABLE card_types (
    card_type_id int(11) NOT NULL auto_increment, 
    name varchar(50) NOT NULL default '', 
    PRIMARY KEY (card_type_id), 
) ENGINE = MyISAM ; 
+0

Debe ser más claro en su respuesta –

+2

¿Es esta una respuesta a la pregunta? El nombre de la tabla en la pregunta es 'dave_bannedwords', no' card_types'. – Pang

Cuestiones relacionadas