Как сделать автоинкремент в переменной varchar в mysql - PullRequest
0 голосов
/ 03 января 2019
 MYSQL SYNTAX 


table STUDENT
      student_id : S001,S002,S003..... SO ON

В моей ученической таблице я хотел получить данные varchar в качестве первичного ключа и значение auto_increment. пожалуйста, не комментируйте, например, используйте базовые языки сервера, такие как PHP, JAVA ИЛИ ЛЮБОЙ ДРУГОЙ Язык.

Я хотел чистый синтаксис MySQL.

Ответы [ 3 ]

0 голосов
/ 03 января 2019

Идея дизайна базы данных состоит в том, чтобы хранить каждый элемент данных отдельно.И каждый элемент имеет свой тип данных, ограничения и правила.Это c0002 не одно поле, а два.То же самое с XXXnnn или что-то еще.Это неверно, и это сильно ограничит вашу способность использовать данные и использовать функции и возможности базы данных.

Разбейте его на два отдельных элемента данных: column_1 CHAR (1)

column_2INTEGER

Затем установите AUTOINCREMENT на column_2

И да, ваш Первичный ключ может быть (column_1, column_2), поэтому вы не потеряли значение, которое имеет для вас c0002.

отметьте этот очень похожий вопрос и ответ также принимается

Как автоматически инкремтировать varchar

0 голосов
/ 03 января 2019

Вы должны сначала установить первичный ключ для student_id, а затем вы можете установить ключевое слово AUTO_INCREMENT через обновление таблицы, а затем обновить

0 голосов
/ 03 января 2019

Не могли бы вы сделать первичный ключ составным ключом? Тогда у первого столбца может быть префикс (в данном случае 's') и автоматически увеличивающееся значение в качестве второго столбца. Вместе они будут вашим основным ключом.

CREATE TABLE Student (
id INT NOT NULL AUTO_INCREMENT,
prefix CHAR(1) NOT NULL,
PRIMARY KEY (id, prefix),
...

Вот ссылка на очень похожий вопрос.

- Трэвис В.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...