2017-08-14 164 views
0

我无法创建表。错误#1064 - 您的SQL语法错误

这是代码:

DROP TABLE IF EXISTS `monitoreos`; 

CREATE TABLE `monitoreos` (
    `id` INTEGER NOT NULL AUTO_INCREMENT DEFAULT NULL, 
    `fecha` VARCHAR NULL DEFAULT NULL, 
    `id_cliente` INTEGER NULL DEFAULT NULL, 
    `id_vehiculo` INTEGER NULL DEFAULT NULL, 
    `posicion` INTEGER NULL DEFAULT NULL, 
    `numero_serie` INTEGER NULL DEFAULT NULL, 
    `numero_alterno` INTEGER NULL DEFAULT NULL, 
    `profundidad_inicial` VARCHAR NULL DEFAULT NULL, 
    `horometro_actual` VARCHAR NULL DEFAULT NULL, 
    `profundidad_actual_exterior` VARCHAR NULL DEFAULT NULL, 
    `profundidad_actual_interior` VARCHAR NULL DEFAULT NULL, 
    PRIMARY KEY (`id`) 
); 

,这是错误:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'NULL DEFAULT NULL, 
    `id_cliente` INTEGER NULL DEFAULT NULL, 
    `id_vehiculo` I' at line 3 
+3

为什么'id'设置为NOT NULL和DEFAULT NULL? –

+0

'fecha VARCHAR NULL DEFAULT NULL'无效 –

回答

0

可空和DEFAULT NULL是默认值,所以你可以删除它们。

更重要的是,您需要VARCHAR字段的长度。以下作品:

CREATE TABLE `monitoreos` (
    `id` INTEGER NOT NULL AUTO_INCREMENT , 
    `fecha` VARCHAR(255), 
    `id_cliente` INTEGER, 
    `id_vehiculo` INTEGER, 
    `posicion` INTEGER, 
    `numero_serie` INTEGER, 
    `numero_alterno` INTEGER, 
    `profundidad_inicial` VARCHAR(255), 
    `horometro_actual` VARCHAR(255), 
    `profundidad_actual_exterior` VARCHAR(255), 
    `profundidad_actual_interior` VARCHAR(255), 
    PRIMARY KEY (`id`) 
); 

Here是一个SQL小提琴。

+0

感谢它的工作! –

+1

'fecha'应该被声明为'DATE'。 –

3

我不认为你可以把默认的零和自动递增在一起。摆脱默认空值。