当前位置:Gxlcms > PHP教程 > 求大神找一下错误

求大神找一下错误

时间:2021-07-01 10:21:17 帮助过:2人阅读

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
);

人气教程排行