首页 > 解决方案 > 玛丽亚数据库服务器

问题描述

我在一个错误中着陆:

错误代码 1064:您的 sqlsyntax 中有错误;检查与您的 MariaDB 服务器语法相对应的手册,以了解要使用的正确语法

CREATE TABLE 'company'.'employee'(
'fname' VARCHAR (10) NOT NULL,
'mname' VARCHAR(2) NULL, 
'lname' VARCHAR(10) NOT NULL,
'ssn' CHAR(9) NOT NULL, 
'bdate' DATE,
'address' VARCHAR(20) NOT NULL,
'sex' CHAR NULL,
'salary' DECIMAL (10, 2) NULL,
'super_ssn' CHAR(9) NULL,
'd_no' INT NOT NULL,
PRIMARY KEY ('ssn'));

标签: mysqlmariadbmysql-workbench

解决方案


使用`代替'(单引号),

你应该像下面这样写:

    CREATE TABLE `company`.`employee`(
      `fname` VARCHAR (10) NOT NULL,
      `mname` VARCHAR(2) NULL,
      `lname` VARCHAR(10) NOT NULL,
      `ssn` CHAR(9) NOT NULL,
      `bdate` DATE,
      `address` VARCHAR(20) NOT NULL,
      `sex` CHAR NULL,
      `salary` DECIMAL (10, 2) NULL,
      `super_ssn` CHAR(9) NULL,
      `d_no` INT NOT NULL,
      PRIMARY KEY (`ssn`)
    );

实际上,` 符号是可选的,但如果字段名称、表或数据库与关键字或 MySQL 子句相同,则使用它,目的是使 MySQL 不会与您在查询中的意思混淆。

例如 :

SELECT column FROM `char`

我使用`符号是因为表的名称与 MySQL 上的关键字相同,即CHAR()(但这样命名是一种不好的方式),所以请记住,如果您编写 SQL 查询,您必须决定使用`符号

希望这可以帮到你。


推荐阅读