Автоприращивание MySQL не с единицы, а с длинного числа

236
15 августа 2017, 12:51

При создании таблицы MySQL создаю столбец id с авто приращиванием.
И он начинается с 1. Т.е. 1,2,3,4 и т.д.
Как сделать так, чтобы, например, начинался с 00000001 и продолжал счет? Например:
00000001,00000002, ....00000099,00000100.

Answer 1

Никак, и незачем. Если для красоты представления, типа example.com/index.php?id=00000001 или в тексте "ваш id=00000001" вместо "ваш id=1", то конкатенировать (при отображении) и отрезать (при обращении к базе) нужное количество нулей в строке средствами PHP, но в базе оно все равно будет 1, 2, 3,...,n.

Answer 2

В базе такое не храниться. Для клиентской части подойдет str_pad - вы сможете дописать спереди столько нулей, сколько нужно. А если их надо убрать - str_replace

$input = str_pad($input, 8, "0", STR_PAD_LEFT);
$input = str_replace("0", "", $input);
Answer 3

Вот так можно при создании таблицы начать с 1000000 :

CREATE TABLE demo (
  id int(11) NOT NULL AUTO_INCREMENT,
  color varchar(50) DEFAULT NULL COMMENT 'Название цвета',
  PRIMARY KEY (id)
)
ENGINE = INNODB
AUTO_INCREMENT = 1000000 --Начинаем с 1000000
AVG_ROW_LENGTH = 4096
CHARACTER SET utf8
COLLATE utf8_general_ci
ROW_FORMAT = DYNAMIC;

А вот так изменить таблицу:

ALTER TABLE demo AUTO_INCREMENT=1000000 

И вот так можно отобразить! '00000000001' :

SELECT LPAD(id, 11, 0) AS id, color FROM demo;
READ ALSO
AngularJS. Input с value пустой

AngularJS. Input с value пустой

Нужно сделать простой калькуляторДелал так:

271
Почему не выполняется :hover? [требует правки]

Почему не выполняется :hover? [требует правки]

Есть таблица(смскрин и сайт) на сайте https_://aviareysi

197
Как сместить div, если его проскроллили?

Как сместить div, если его проскроллили?

Подскажите как можно реализовать смещение блока допустим на 50px вправо, если блок div проскроллили вправо?

276
Не работает событие click() - jQuery

Не работает событие click() - jQuery

ЗдравствуйтеНаписал скрипт с использованием AJAX

255