как создать автоматический номер серии, который является первичным ключом для той таблицы, которая имеет следующую серию JTM0605160001 ….. в SQL

Я хочу создать автоматический первичный ключ (автоинкремент), который начинается с JTM0605160001. Вот

  • JTM: будет постоянным
  • 060516: дата в формате ddmmyy (06 дней 05 месяцев 16 лет
  • 0001 будет повторяться

Поэтому, когда пользователь хочет ввести данные, в этой форме уже есть ряд чисел. поэтому мне будет легко проверить их данные только на основе серийного номера формы. так что вы можете помочь мне с учебником и кодированием?

Я использую панель управления XAMPP и Dreamweaver CS6.

Я хочу серийный номер, как это:

JTM0605160001
JTM0605160002
JTM0705160003


поэтому форма будет такой:

нет серии: JTM0605160001 (автоматически предоставляется, когда пользователь хочет заполнить форму)

имя: Салли (пользователь заполнит эту форму)

возраст: 34 (пользователь заполнит эту форму)

-1

Решение

схема таблицы:

CREATE TABLE combinedKey (
id INT(4) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
prefix VARCHAR(3) NOT NULL,
datePrefix VARCHAR(6) NOT NULL,
PRIMARY KEY (id, prefix, datePrefix),
age INT(3),
name VARCHAR(30)
);

Итак, мы объединяем три столбца в первичный ключ, состоящий из вашего автоматически увеличивающегося идентификатора (обратите внимание на ZEROFILL для ведущих нулей), ваш постоянный префикс и префикс даты (ваш формат не является форматом даты по умолчанию, поэтому мы форматируем его на INSERTсм. ниже), основываясь на INSERT-Дата.

Вставка может выглядеть так:

INSERT INTO combinedKey (`prefix`,`datePrefix`,`age`,`name`) VALUES ('JTM',DATE_FORMAT(NOW(),'%d%m%y'),34,'Sally' );

Оператор выбора с выводом номера серии

SELECT CONCAT(`prefix`,`datePrefix`,`id`) AS series, `name`, `age` FROM combinedKey;
+---------------+-------+------+
| series        | name  | age  |
+---------------+-------+------+
| JTM0106160001 | Sally |   34 |
+---------------+-------+------+
1 row in set (0.00 sec)

Если вам нужен новый номер серии перед тем, как вставить имя, возраст и т. Д., Вы можете вставить с помощью фиктивных данных / пустого значения, сохранить вставленную строку / новый номер серии и UPDATE после этого.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]