语法错误,创建数据库

时间:2016-12-04 13:21:09

标签: mysql

我正在尝试创建数据库android_api和表用户,但我收到错误

#1064 - Something is wrong in your syntax near 'use android_api

create table 'users'(
   id int(11) NOT NULL primary KEY AU' w linii 3

这是代码

create database android_api

use android_api

create table users(
   id int(11) NOT NULL primary KEY AUTO_INCREMENT,
   unique_id varchar(23) not null unique,
   name varchar(50) not null,
   email varchar(100) not null unique,
   encrypted_password varchar(80) not null,
   salt varchar(10) not null,
   created_at datetime,
   updated_at datetime null
);

2 个答案:

答案 0 :(得分:1)

您应该将每个SQL语句与;分开,否则您的语法不正确。

这是正确的语法:

create database android_api;

use android_api;

create table users(
   id int(11) NOT NULL primary KEY AUTO_INCREMENT,
   unique_id varchar(23) not null unique,
   name varchar(50) not null,
   email varchar(100) not null unique,
   encrypted_password varchar(80) not null,
   salt varchar(10) not null,
   created_at datetime,
   updated_at datetime null
);

在您的代码中,您所做的实际上是:

create database android_api use android_api

(这不是有效的CREATE声明)。

答案 1 :(得分:0)

实际上,接受的答案就足够了。在遇到与您报告的问题相同的问题后,这是一个非常小的想法,但是在 SQL Shell 中的初学者教程 Load PostgreSQL Sample Database 中。

一般情况下,如果你在SQL shell中有报告的错误,如果你不确定是否在最后一行的末尾输入了;,只需输入;作为新的命令并按 Enter 以确保您在 LINE 1 中而不是在 LINE 2 中键入下一个命令。

没有这个“技巧”,可能会发生这样的愚蠢:

postgres=# CREATE DATABASE dvdrental
postgres-# show databases
postgres-# create database dvdrental;
ERROR:  syntax error at or near »show«
LINE 2: show databases
         ^
postgres=# create database dvdrental
postgres-# CREATE DATABASE dvdrental;
ERROR:  syntax error at or near »CREATE«
LINE 2: CREATE DATABASE dvdrental;
         ^
postgres=# CREATE DATABASE dvdrental;
CREATE DATABASE

终于工作了,从输出 CREATE DATABASE 可以看出。