欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求大神找一下错误

程序员文章站 2022-05-16 17:34:18
...
CREATE DATABASE IF NOT EXISTS `shopImooc1`;
USE `shopImooc1`;
DROP TABLE IF EXISTS `imooc_admin`;
CREATE TABLE `imooc_admin` (
    `id` int(10) auto_increment  key,
    `username` varchar(20) not null unique,
    `password` char(32) not null,
    `email` varchar(50)
);

DROP TABLE IF EXISTS `imooc_cate`;
CREATE TABLE `imooc_cate` (
    `id` smallint(10) auto_increment key,
    `cName` varchar(20) unique
);

DROP TABLE IF EXISTS `imooc_pro`;
CREATE TABLE `imooc_pro` (
    `id` int(10) unique auto_increment key,
    `pNmae` varchar(50) not null unique,
    `pSn` varchar(50) not null,
    `cPrice` decimal(10,2) not null,
    `iPrice` decimal(10,2) not null,
    `pDesc` text,
    `pImg` varchar(50) not null,
    `pubImg` int not null,
    `isShows` tinyint(1) default 1,
    `isHot` tinyint(1) default 0,
    `cId` smallint not null
);


DROP TABLE IF EXISTS `imooc_user`;
CREATE TABLE `imooc_user` (
    `id` int(10) auto_increment  key,
    `username` varchar(20) not null unique,
    `password` varchar(32) not null,
    `face` varchar(50) not null,
    `regTime` int not null
);



DROP TABLE IF EXISTS `imooc_album`;
CREATE TABLE `imooc_album` (
    `id` int(10) auto_increment key,
    `pId` not null
);

运行之后出现错误

[Err] 1064 - 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 'not null,
)' at line 3
[Err] CREATE DATABASE IF NOT EXISTS `shopImooc1`;
USE `shopImooc1`;
DROP TABLE IF EXISTS `imooc_admin`;
CREATE TABLE `imooc_admin` (
    `id` int(10) auto_increment  key,
    `username` varchar(20) not null unique,
    `password` char(32) not null,
    `email` varchar(50)
);

DROP TABLE IF EXISTS `imooc_cate`;
CREATE TABLE `imooc_cate` (
    `id` smallint(10) auto_increment key,
    `cName` varchar(20) unique
);

DROP TABLE IF EXISTS `imooc_pro`;
CREATE TABLE `imooc_pro` (
    `id` int(10) unique auto_increment key,
    `pNmae` varchar(50) not null unique,
    `pSn` varchar(50) not null,
    `cPrice` decimal(10,2) not null,
    `iPrice` decimal(10,2) not null,
    `pDesc` text,
    `pImg` varchar(50) not null,
    `pubImg` int not null,
    `isShows` tinyint(1) default 1,
    `isHot` tinyint(1) default 0,
    `cId` smallint not null
);


DROP TABLE IF EXISTS `imooc_user`;
CREATE TABLE `imooc_user` (
    `id` int(10) auto_increment  key,
    `username` varchar(20) not null unique,
    `password` varchar(32) not null,
    `face` varchar(50) not null,
    `regTime` int not null
);



DROP TABLE IF EXISTS `imooc_album`;
CREATE TABLE `imooc_album` (
    `id` int(10) auto_increment key,
    `pId` not null,
);
[Msg] Finished - Unsuccessfully
--------------------------------------------------

找了大半天都没找到哪里的错误 求大神指点

回复内容:

CREATE DATABASE IF NOT EXISTS `shopImooc1`;
USE `shopImooc1`;
DROP TABLE IF EXISTS `imooc_admin`;
CREATE TABLE `imooc_admin` (
    `id` int(10) auto_increment  key,
    `username` varchar(20) not null unique,
    `password` char(32) not null,
    `email` varchar(50)
);

DROP TABLE IF EXISTS `imooc_cate`;
CREATE TABLE `imooc_cate` (
    `id` smallint(10) auto_increment key,
    `cName` varchar(20) unique
);

DROP TABLE IF EXISTS `imooc_pro`;
CREATE TABLE `imooc_pro` (
    `id` int(10) unique auto_increment key,
    `pNmae` varchar(50) not null unique,
    `pSn` varchar(50) not null,
    `cPrice` decimal(10,2) not null,
    `iPrice` decimal(10,2) not null,
    `pDesc` text,
    `pImg` varchar(50) not null,
    `pubImg` int not null,
    `isShows` tinyint(1) default 1,
    `isHot` tinyint(1) default 0,
    `cId` smallint not null
);


DROP TABLE IF EXISTS `imooc_user`;
CREATE TABLE `imooc_user` (
    `id` int(10) auto_increment  key,
    `username` varchar(20) not null unique,
    `password` varchar(32) not null,
    `face` varchar(50) not null,
    `regTime` int not null
);



DROP TABLE IF EXISTS `imooc_album`;
CREATE TABLE `imooc_album` (
    `id` int(10) auto_increment key,
    `pId` not null
);

运行之后出现错误

[Err] 1064 - 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 'not null,
)' at line 3
[Err] CREATE DATABASE IF NOT EXISTS `shopImooc1`;
USE `shopImooc1`;
DROP TABLE IF EXISTS `imooc_admin`;
CREATE TABLE `imooc_admin` (
    `id` int(10) auto_increment  key,
    `username` varchar(20) not null unique,
    `password` char(32) not null,
    `email` varchar(50)
);

DROP TABLE IF EXISTS `imooc_cate`;
CREATE TABLE `imooc_cate` (
    `id` smallint(10) auto_increment key,
    `cName` varchar(20) unique
);

DROP TABLE IF EXISTS `imooc_pro`;
CREATE TABLE `imooc_pro` (
    `id` int(10) unique auto_increment key,
    `pNmae` varchar(50) not null unique,
    `pSn` varchar(50) not null,
    `cPrice` decimal(10,2) not null,
    `iPrice` decimal(10,2) not null,
    `pDesc` text,
    `pImg` varchar(50) not null,
    `pubImg` int not null,
    `isShows` tinyint(1) default 1,
    `isHot` tinyint(1) default 0,
    `cId` smallint not null
);


DROP TABLE IF EXISTS `imooc_user`;
CREATE TABLE `imooc_user` (
    `id` int(10) auto_increment  key,
    `username` varchar(20) not null unique,
    `password` varchar(32) not null,
    `face` varchar(50) not null,
    `regTime` int not null
);



DROP TABLE IF EXISTS `imooc_album`;
CREATE TABLE `imooc_album` (
    `id` int(10) auto_increment key,
    `pId` not null,
);
[Msg] Finished - Unsuccessfully
--------------------------------------------------

找了大半天都没找到哪里的错误 求大神指点

最后一个创建表的语句有问题:

CREATE TABLE `imooc_album` (
    `id` int(10) auto_increment key,
    `pId` not null
);

问题在于,没有指定pId的数据类型,改成下面这样就没问题了:

DROP TABLE IF EXISTS `imooc_album`;
CREATE TABLE `imooc_album` (
    `id` int(10) auto_increment key,
    `pId` int(10) not null
);
相关标签: php mysql