MySQL命令出错了,找不到原因

img

 ZZX-命令列介面                                                                                 口        X
 文件(日编辑E)查看窗口W
          保存载入                   6剪切复制粘贴  停止                                                         清除自动换行
 mysql>USE教务管理信息系统,                                                                                            D
 QueryOK,Orowsaffected
 mysgl>         CREATETABLEPlanProject
     -)    (ppnochar(4)notnullprimarykey
         tpnochar(4)
         Cng     char3)
         termtinyint
        Whoursint default 6
         Shoursint
         Constraint al foreignkey(tpno)referencesTeaPlan(tpno)
        Constrainta2foreignkey(cno)referencesCourse(cno)
 1064         YouhaveanerrorinyourSOLsyntax;                                                checkthemanual thatcorre
 Sponds         tOYourMySQL serverversion for theright syntaxtousenear->
 (ppnochar(4)notnullprimarykey
     ->tpnochar(4),
        cnochar(atline2
 mySgl>

刚开始学,有人知道这个是哪里出问题了吗,搞好久了

单独把sql拿出来执行看看具体的报错信息吧

该回答引用GPTᴼᴾᴱᴺᴬᴵ
在创建PlanProject表的语句中,存在以下问题:

  1. 在第一行语句中,mysg1USE教务管理信息系统;应该为mysql USE 教务管理信息系统;
  2. 在CREATE TABLE语句中,最后一个约束条件的列名应该为no,而不是cno。
  3. 在CREATE TABLE语句中,语句末尾的冒号应该改为分号。

修改后的语句如下:

USE 教务管理信息系统;

CREATE TABLE PlanProject (
  ppno char(4) NOT NULL PRIMARY KEY,
  tpno char(4),
  no char(3),
  term tinyint,
  w_hours int DEFAULT 6,
  s_hours int,
  CONSTRAINT al FOREIGN KEY (tpno) REFERENCES TeaPlan (tpno),
  CONSTRAINT a2 FOREIGN KEY (no) REFERENCES Course (no)
);

注意:以上语句仅供参考,其中的表名、列名和外键引用等需要根据实际情况进行修改。

感觉建表语句写的有问题,估计是not null这里的错误,现在Navicat工具执行一下吧,他那里提示比较全。
可以参考这篇写建表语句文章。https://blog.csdn.net/lydms/article/details/96339284

你是不是有中文括号,全改成英文括号试了下没问题。。。

CREATE TABLE PlanProject
(ppno char(4) not null primary key,
         tpno char(4),
         cno     char(3),
         term tinyint,
        Whours int default 6,
         Shours int,
         Constraint al foreign key (tpno) references TeaPlan (tpno),
        Constraint a2 foreign key (cno) references Course (cno))