1064错误的原因
使用关键字
比如使用关键字作为表名
MySQL的每个版本都有其自己的保留字列表。 这些是用于特定目的或在MySQL引擎中执行特定功能的词。 如果尝试使用这些保留字之一,则会收到1064错误。 例如,下面是一个简短的SQL查询,该查询使用保留字作为表名。
数据缺失
当子查询的条件列在数据库中没有相应的数据时
命令错误
当你写入的sql命令本身是错误的时候也会返回1064,比如Update写成了udpate
例如:udpate table set id=0;
命令过时
某些不推荐使用的命令(计划删除但仍允许使用一段时间)最终会过时。 这意味着该命令在SQL语句中不再有效。 较常见的命令之一是“ TYPE”命令。 自MySQL 4.1起不推荐使用此功能,但从5.1版开始最终将其删除,该版本现在出现语法错误。 “ TYPE”命令已替换为“ ENGINE”命令。
我的错误
create table book(
int book_id primary key,
varchar(128) title,
varchar(512) description,
date published,
int author_id,
float price,
int rating);
要记住:sql的基本语法是类名在前,然后紧跟列的数据类型,不可以倒置,否则报语法错误1064
修正我的错误:
create table book (
book_id int primary key,
title nvarchar(128),
description nvarchar(512),
published DATE ,
author_id int,
price float,
rating int);