Вставить то же значение автоматического приращения в другой столбец той же таблицы - PullRequest
0 голосов
/ 02 октября 2018

У меня есть таблица с названием «demo» с 3 столбцами.идентификатор, имя и пиксель.Этот идентификатор является первичным с автоинкрементом.мне нужно вставить значение автоинкремента id в пиксельный столбец во время вставки

1 Ответ

0 голосов
/ 02 октября 2018

Очевидный вопрос: если pixel всегда равно id, зачем вам это вообще нужно?Если вы используете значение от id в качестве начального значения по умолчанию, почему бы не установить его по умолчанию на NULL?

При этом у вас есть несколько вариантов:

  1. Как отметил @PSalmon, вы можете использовать сгенерированный столбец, если ваша версия его поддерживает:

    CREATE TABLE demo
    (
        `id` INT PRIMARY KEY AUTO_INCREMENT,
        `name` VARCHAR(255),
        pixel AS (`id`)
    )
    
  2. Как отмечалось @WhatsThePoint, вы можете использовать триггер .При вставке обновите pixel, чтобы соответствовать id.

Опять же, на самом деле нет необходимости иметь отдельный атрибут с тем же значением, что и id.Если вам это действительно нужно, вы можете создать представление со столбцом pixel, соответствующим вашему id.

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