MySQL Workbench给出错误1064

时间:2017-11-01 23:42:12

标签: mysql mysql-workbench mysql-error-1064

我正在使用MySQL Workbench,使用其工具创建我的数据库。在尝试转发数据库工程时,我不断收到此错误。

Executing SQL script in server
ERROR: Error 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 '-01-01,
  `PlateNum` CHAR(7) NOT NULL DEFAULT 'ABCDEFG',
  `CellPhone` INT(10) U' at line 9
SQL Code:
        -- -----------------------------------------------------
        -- Table `MetalDelivery`.`Drivers`
        -- -----------------------------------------------------
        CREATE TABLE IF NOT EXISTS `MetalDelivery`.`Drivers` (
          `DriverID` INT NOT NULL AUTO_INCREMENT,
          `FName` CHAR(12) NOT NULL DEFAULT 'First',
          `LName` CHAR(12) NOT NULL DEFAULT 'Last',
          `Sex` CHAR(1) NOT NULL DEFAULT 'M',
          `DOB` DATE NOT NULL DEFAULT 1900-01-01,
          `PlateNum` CHAR(7) NOT NULL DEFAULT 'ABCDEFG',
          `CellPhone` INT(10) UNSIGNED NOT NULL DEFAULT 5550000000,
          PRIMARY KEY (`DriverID`))
        ENGINE = InnoDB

SQL script execution finished: statements: 6 succeeded, 1 failed

在SQL脚本预览中,它确实在InnoDB之后显示分号

1 个答案:

答案 0 :(得分:0)

任何类型的日期都需要指定为字符串:

 `DOB` DATE NOT NULL DEFAULT '1900-01-01'

还值得扩展这个架构。名称通常超过12个字母。 VARCHAR(255)是"字符串"的良好默认值。字段。

您可能会发现这些默认值是一个很大的错误。可能有人的实际姓氏是"最后"在这种情况下,他们使用默认设置,或者他们根本没有姓氏。 NULL值有用,所以请接受它们。