我正在尝试创建数据库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
);
答案 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
可以看出。