可能只是一个愚蠢的错误,但是在SQL中这个create table语句有什么问题?

时间:2018-02-19 06:08:08

标签: sql

CREATE TABLE Product (
ProductID           INTEGER,
ProdName            VARCHAR(50),
Category            VARCHAR(20),
SupplierID          CHAR(1),
HourlyRate          DECIMAL(5,2),
UnitsInStock            CHAR(2),
CONSTRAINT PKProduct PRIMARY KEY ProductID,
CONSTRAINT FKSupplier FOREIGN KEY SupplierID
REFERENCES Supplier(SupplierID)
);

继续向我提供此错误消息:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   附近的CONSTRAINT FKSupplier FOREIGN KEY供应商参考   供应商(SupplierID'第8行

可能只是一个简单的愚蠢错误,但是有谁知道我做错了什么?

2 个答案:

答案 0 :(得分:1)

因为键可以是复合的(即包括多个字段),所以它们需要用括号括起来:

<document>
<html lang="en-us">
<head>
<body class="menu-on-top desktop-detected">
<header id="header">
<aside id="left-panel">
<div class="login-info">
<nav>
<ul>
<li class="active" style="background-color:grey;" title="Home">
<li title="Employer">
<a href="#" style="background-color: rgba(0, 0, 0, 0);">
<span style="background-color: rgba(0, 0, 0, 0);">Employer</span>

供参考:https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html

答案 1 :(得分:0)

CREATE TABLE Product (
ProductID           INTEGER,
ProdName            VARCHAR(50),
Category            VARCHAR(20),
SupplierID          CHAR(1),
HourlyRate          DECIMAL(5,2),
UnitsInStock            CHAR(2)  ,
CONSTRAINT PKProduct PRIMARY KEY (ProductID),
    CONSTRAINT FKSupplier FOREIGN KEY (SupplierID)
    REFERENCES Supplier(SupplierID)

);