MySQL создать составной ключ с различными типами данных

0

Итак, скажем, я пытаюсь создать таблицу в MYSQL, которая содержит 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

Любая помощь будет оценена по достоинству.

  • 0
    Почему вы хотите это сделать? Почему бы не использовать id качестве первичного ключа?
  • 0
    Мне нравятся составные ключи, но в этом примере ключ не должен быть name + price ? Название таблицы предполагает это. Вы можете сохранить id и сделать его ключом или вообще избавиться от него.
Показать ещё 7 комментариев
Теги:
composite-key

1 ответ

0
Лучший ответ

Вы просто пропускаете длину varchar для имени. Например:

CREATE TABLE name_price (
  id int NOT NULL,
  name varchar(100) NOT NULL,
  price int,
  PRIMARY KEY (id, name)
);
  • 0
    Ух ты. извините за тупой вопрос. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню