Как убедиться, что MySQL столбец имеет 4 символа

Как убедиться, что MySQL столбец имеет 4 символа?

Из-за использования функции MATCH с минимум 4 символами, я хочу, чтобы мой первичный ключ, который является INT, был, по крайней мере, 4 символами.

Как мне это сделать?

например. 1 будет 0001 в таблице sql

3 ответа

Решение

Используйте атрибут ZEROFILL для столбца. Измените столбец первичного ключа, чтобы включить нулевое заполнение.

Попробуй это:

ALTER TABLE `tablename` CHANGE
COLUMN `id` `id` INT(4) ZEROFILL NOT NULL AUTO_INCREMENT ;

Вы можете использовать MySQL LPAD функция:

SELECT LPAD('1',4,'0');
    -> '0001'

Документы здесь.

Предполагая, что ваш первичный ключ является автоматически увеличивающимся идентификатором.

  1. Временно снимите автоинкремент.
  2. Добавьте 999 к каждому идентификатору. (Конечно, если другие таблицы используют этот идентификатор в качестве внешнего ключа, вам также придется их настроить).
  3. Повторно добавьте автоинкремент, но убедитесь, что он начинается как минимум с 1000. См.: Как установить начальное значение и автоинкремент в MySQL?
Другие вопросы по тегам