Sql创建格式

时间:2014-12-09 04:50:14

标签: mysql sql

如何以一种可以工作并保持当前值的方式格式化以下sql文件;

delimiter $$

CREATE TABLE "login" (
"IdUser" int(11) NOT NULL AUTO_INCREMENT,
 "username" varchar(45) CHARACTER SET latin1 NOT NULL,
 "pass" varchar(45) CHARACTER SET latin1 NOT NULL,
  PRIMARY KEY ("IdUser")
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8$$

CREATE TABLE "photos" (
"IdPhoto" int(11) NOT NULL AUTO_INCREMENT,
"title" varchar(100) CHARACTER SET latin1 NOT NULL,
"IdUser" int(11) NOT NULL,
PRIMARY KEY ("IdPhoto")
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8$$

当我尝试从我的mac终端创建它时出现以下错误

  

“第3行的错误1064(42000):您的SQL语法有错误;   检查与您的MySQL服务器版本对应的手册   在“登录”附近使用正确的语法(         “IdUser”int(11)NOT NULL AUTO_INCREMENT,         “username”varchar(45)C'在第1行       “

2 个答案:

答案 0 :(得分:2)

使用它。的 Fiddler Demo

CREATE TABLE login (
IdUser int(11) NOT NULL AUTO_INCREMENT,
 username varchar(45) CHARACTER SET latin1 NOT NULL,
 pass varchar(45) CHARACTER SET latin1 NOT NULL,
  PRIMARY KEY (IdUser)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

CREATE TABLE photos (
IdPhoto int(11) NOT NULL AUTO_INCREMENT,
title varchar(100) CHARACTER SET latin1 NOT NULL,
IdUser int(11) NOT NULL,
PRIMARY KEY (IdPhoto)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

答案 1 :(得分:2)

CREATE TABLE login (//"login" is incorrect syntex
IdUser int(11) NOT NULL AUTO_INCREMENT, // Dont give "" to Column name 
 username varchar(45) CHARACTER SET latin1 NOT NULL,
 pass varchar(45) CHARACTER SET latin1 NOT NULL,
  PRIMARY KEY (IdUser)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8$$

CREATE TABLE photos (//"photos" is incorrect syntex
IdPhoto int(11) NOT NULL AUTO_INCREMENT,
title varchar(100) CHARACTER SET latin1 NOT NULL,
IdUser int(11) NOT NULL,
PRIMARY KEY (IdPhoto)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFA