【问题标题】:SQL #1064 Syntax Error [closed]SQL #1064 语法错误 [关闭]
【发布时间】:2014-12-02 05:09:15
【问题描述】:

以下有什么问题?

错误

#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以了解在 '( cp_id INT(11) 非空, cp_model INT(11) 非空, cp_name VAR' 在第 1 行

SQL

CREATE DATABASE `car_parts` (
 `cp_id` INT( 11 ) NOT NULL auto_increment,
 `cp_model` INT( 11 ) NOT NULL,
 `cp_name` VARCHAR( 255 ) NOT NULL,
 `cp_image` VARCHAR( 255 ) NOT NULL,
 `cp_cost` INT( 11 ) NOT NULL,
 `cp_speed` INT( 11 ) NOT NULL,
 `cp_control` INT( 11 ) NOT NULL,
 `cp_power` INT( 11 ) NOT NULL,
 `cp_available` INT( 11 ) NOT NULL,
 PRIMARY KEY (`car_parts`)
 ) TYPE=MYISAM ;

所以我按照你说的做了,现在这是我得到的错误:(

#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax to use
near 'TYPE=MYISAM' at line 12 

【问题讨论】:

  • 您的查询中似乎有语法错误

标签: php mysql sql


【解决方案1】:

根据对您的错误消息的分析,您没有给表命名。正确的语法是:

CREATE TABLE `tablename` (
    `cp_id` INT NOT NULL,
    ......
);

您忘记了 `tablename` 部分。

编辑:由于您提供了完整的查询,显然我的分析不正确。你的错误是在你想要CREATE TABLE 的时候输入CREATE DATABASE

EDIT2:进一步分析,您会遇到另一个问题:auto_increment 字段必须定义为表上的索引。通常,您的auto_increment 列应该是您的PRIMARY KEY,而不是任意其他列......当然也不是表名。这没有任何意义。

【讨论】:

  • 离你很近 ;D
  • 创建表car_parts (cp_id INT(11) NOT NULL auto_increment, cp_model INT(11) NOT NULL, cp_name VARCHAR(255) NOT NULL, cp_image VARCHAR( 255)不为空,cp_costINT(11)不为空,cp_speedINT(11)不为空,cp_controlINT(11)不为空,cp_powerINT(11)不为空,cp_availableINT( 11)非空,主键(car_parts))类型=MYISAM; MySQL 说:文档 #1046 - 未选择数据库
  • @xCowBoyx 然后选择一个数据库 - 这应该是您的连接字符串的一部分。或者,试试CREATE TABLE `database_name`.`table_name` ...
  • @xCowBoyx 你需要选择你正在使用的模式......所以运行 USE schema_name;然后你的创建表
  • 能否请人重新编写它,但采用固定方式。我想我不明白
猜你喜欢
  • 2020-09-29
  • 1970-01-01
  • 2017-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多