mysql 创建一个具有不同数据类型的组合键

mysql create a composite key with different data types

假设我正在尝试在 MYSQL 中创建一个 table,其中包含 3 列,Id、Name 和 Price。鉴于它们是不同的数据类型,我将如何在 Id 和 Name 之间创建复合键?我尝试了以下查询,但出现错误。

CREATE TABLE name_price (
id int NOT NULL,
name Varchar NOT NULL,
price int,
PRIMARY KEY (id, name)

);

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,
    price int,
    PRIMARY KEY (id, name)
)' at line 3

如有任何帮助,我们将不胜感激。

您只是缺少名称的 varchar 长度。例如:

CREATE TABLE name_price (
  id int NOT NULL,
  name varchar(100) NOT NULL,
  price int,
  PRIMARY KEY (id, name)
);