Mysql 使用主键和键创建表

Mysql 使用主键和键创建表,mysql,phpmyadmin,Mysql,Phpmyadmin,我正试图创建一个带有主键和外键的products表。 这是我迄今为止尝试过的代码 CREATE TABLE products ( prod_id int NOT NULL, prod_name int NOT NULL, price varchar(15) 5on_hand varchar(15), supp_id varchar(20), PRIMARY KEY (prod_id), FOREIGN KEY (supp_id) ); 任何帮助都将不胜感激外键是对另一个表中字段的引用

我正试图创建一个带有主键和外键的products表。

这是我迄今为止尝试过的代码

    CREATE TABLE products
(
prod_id int NOT NULL,
prod_name int NOT NULL,
price varchar(15)
5on_hand varchar(15),
supp_id varchar(20),
PRIMARY KEY (prod_id),
FOREIGN KEY (supp_id)
);

任何帮助都将不胜感激

外键是对另一个表中字段的引用。要指定外键,必须指定它引用的字段。数据库无法猜测这一点

因此,假设
supp\u id
引用了
Suppliers
表中的
id
,那么您的外键子句应该如下所示:

FOREIGN KEY (supp_id) REFERENCES Supplier(id)

我强烈鼓励以下方面:

  • 所有表都有一个主键列,它是一个整数并自动递增
  • 名称应为字符串
  • 价格应该是小数
所以,我认为这样做是合适的:

CREATE TABLE Products (
    ProductId int NOT NULL auto_increment primary key,
    Name varchar(255) NOT NULL,
    Price decimal(19, 4),
    OnHand integer, -- assuming this is quantity on-hand
    SupplierId int,
    FOREIGN KEY (SupplierId) REFERENCES Suppliers(SupplierId)
);

你有问题吗?您的代码是否有问题(例如声明外键时没有
引用
子句)