首页 > 解决方案 > 使用 MySQL Workbench 8.0 CE 时出现错误代码 1064

问题描述

Sales_Rep向表中 插入数据时收到以下错误代码。

INSERT INTO Sales_Rep VALUES (‘03’, ’Jones’, ’Mary’, ’123 Main’, ’Grant’, ’MI’, ’49219’, 2150.00, .05)

错误:

错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行 0.000 秒的 'Main'、'Grant'、'MI'、'49219'、2150.00、.05)' 附近使用正确的语法

在插入之前成功执行了以下 MySQL 命令来创建数据库和表。

DROP DATABASE IF EXISTS DBMS;
CREATE DATABASE IF NOT EXISTS DBMS;
USE DBMS;
DROP TABLE IF EXISTS Sales_Rep;
DROP TABLE IF EXISTS Customer;
DROP TABLE IF EXISTS Orders;
DROP TABLE IF EXISTS Part;
DROP TABLE IF EXISTS Order_Line;
CREATE TABLE Sales_Rep (
Sales_Rep_Number VARCHAR(2) primary key,
Last_Name VARCHAR(15),
First_Name VARCHAR(15),
Street VARCHAR(15),
City VARCHAR(15),
State VARCHAR(2),
Zip_Code VARCHAR(7),
Commission double,
Rate double)
ENGINE=INNODB;

知道将数据插入数据库需要进行哪些格式更改吗?

标签: mysql-workbenchsql-insert

解决方案


您使用了错误的引号字符。MySQL 支持 3 个引号字符:

  1. 单引号: ',表示字符串,如 in 'a string'
  2. 双引号: ",如果 ANSI_MODE 关闭,则表示字符串,以及 ANSI_MODE 打开的标识符。
  3. 反引号:`(此处不能使用标记,因为反引号在 Markdown 中用作代码分隔符)。反引号表示标识符。

带引号的标识符可以包含通常不允许的特殊字符,包括空格。

您在查询´中使用了前向刻度线,您可能打算使用字符串:

INSERT INTO Sales_Rep VALUES ('03', 'Jones', 'Mary', '123 Main', 'Grant', 'MI', '49219', 2150.00, .05);

从某些应用程序(如文字处理器)复制查询时要小心,它会自动将简单的引号字符转换为印刷引号字符。


推荐阅读