简单的sql create table语法错误

时间:2015-06-14 11:15:25

标签: mysql sql

这可能会以投票结束,但由于森林而无法看到树木:

运行此SQL查询:

CREATE TABLE `fontFamilies` (
  `id` INTEGER NULL AUTO_INCREMENT DEFAULT NULL,
  `name` VARCHAR NOT NULL DEFAULT 'NULL',
  `designer` INTEGER NULL,
  `firstLaunch` TIMESTAMP NULL DEFAULT NULL,
  `lastUpdate` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
); 

我在http://sqlfiddle.com/

中收到以下错误
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 'NOT NULL DEFAULT 'NULL',
  `designer` INTEGER NULL,
  `firstLaunch` TIMESTAMP NU' at line 3

导致此错误的原因是什么?

2 个答案:

答案 0 :(得分:4)

SQLFiddle使用mysql。尝试设置 varchar 的大小:

CREATE TABLE `fontFamilies` (
  `id` INTEGER NULL AUTO_INCREMENT DEFAULT NULL,
  `name` VARCHAR(100) NOT NULL DEFAULT 'NULL',
  `designer` INTEGER NULL,
  `firstLaunch` TIMESTAMP NULL DEFAULT NULL,
  `lastUpdate` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
); 

您还可以将insert命令添加到同一窗口:

insert into `fontFamilies` values(217,'name',217,'1992-10-10 10:10:10','1992-10-10 10:10:10')

答案 1 :(得分:1)

您必须设置VARCHAR的大小。

    CREATE TABLE `fontFamilies` (
  `id` INTEGER NULL AUTO_INCREMENT DEFAULT NULL,
  `name` VARCHAR(30) NOT NULL DEFAULT 'NULL',
  `designer` INTEGER NULL,
  `firstLaunch` TIMESTAMP NULL DEFAULT NULL,
  `lastUpdate` TIMESTAMP NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
  );

这会奏效。