mysql-workbench - 使用 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 支持 3 个引号字符:
- 单引号:
'
,表示字符串,如 in'a string'
。 - 双引号:
"
,如果 ANSI_MODE 关闭,则表示字符串,以及 ANSI_MODE 打开的标识符。 - 反引号:`(此处不能使用标记,因为反引号在 Markdown 中用作代码分隔符)。反引号表示标识符。
带引号的标识符可以包含通常不允许的特殊字符,包括空格。
您在查询´
中使用了前向刻度线,您可能打算使用字符串:
INSERT INTO Sales_Rep VALUES ('03', 'Jones', 'Mary', '123 Main', 'Grant', 'MI', '49219', 2150.00, .05);
从某些应用程序(如文字处理器)复制查询时要小心,它会自动将简单的引号字符转换为印刷引号字符。
推荐阅读
- javascript - 任务从 MongoDb、Mongoose 中删除数组中的所有蓬松对象
- c# - 您可以将泛型传递给 .NET Core 硬件内在方法吗?
- hapi-fhir - Fhir R4 - 跟踪资源创建用户
- java - java 三元运算符可以替换为 Math.max 调用
- arrays - 如何重现合并不同维度的多个图像
- flutter - 我想在 Flutter 中显示图标或图像而不是 Only Text
- docker - Nighres 项目的 Dockerfile 错误(JCC python 3.7 的 setup.py bdist_wheel 错误,...)
- roomle - 从外部页面写入 Roomle 参数
- php - Wordpress 全局 $menu 未显示自定义插件中的所有菜单项
- julia - Machine中X的scitype与模型不兼容