错误1064(42000):您的SQL语法有错误;

时间:2013-09-11 13:24:57

标签: mysql sql

我有一个MySQL命令:

CREATE DATABASE IF NOT EXISTS courses;

USE courses

CREATE TABLE IF NOT EXISTS teachers(
    id INT(10) UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
    name VAR_CHAR(50) NOT NULL,
    addr VAR_CHAR(255) NOT NULL,
    phone INT NOT NULL,
);

当我运行它时,我收到一个错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near 'VAR_CHAR(50) NOT NULL, addr VAR_CHAR(255) NOT
NULL, phone INT NOT NULL, )' at line 3

3 个答案:

答案 0 :(得分:10)

varchar而不是var_char

CREATE DATABASE IF NOT EXISTS courses;

USE courses;

CREATE TABLE IF NOT EXISTS teachers(
    id INT(10) UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    addr VARCHAR(255) NOT NULL,
    phone INT NOT NULL
);

您应该使用SQL工具来可视化可能的错误,例如 MySQL Workbench

答案 1 :(得分:3)

试试这个:

使用NAME的反勾号

CREATE TABLE `teachers` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `addr` varchar(255) NOT NULL,
  `phone` int(10) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

答案 2 :(得分:0)

使用varchar而不是VAR_CHAR并在最后一行省略逗号,即电话INT NOT NULL );。创建表的最后一行保持“无逗号”。 例如:-创建表计算机 ( 型号varchar(50) ); 在这里,由于只有一列,这就是为什么在整个代码中不使用逗号的原因。