Поле вставки SQL, со значением другого поля автоинкремента + значение - PullRequest
1 голос
/ 29 июня 2010

Звучит сложно, но это не так.У меня есть таблица с именем "orders", с полями:

id INT(11) auto_increment,
realid INT(14)

Теперь я хочу при каждой вставке в эту таблицу делать что-то вроде:

INSERT INTO orders VALUES (null, id+1000);

Однако я будуделаю это в магазине, который в данный момент онлайн, и я хочу изменить все за 5 минут.Будет ли что-то подобное работать?Если нет, то как мне это сделать?

1 Ответ

5 голосов
/ 29 июня 2010

Я думаю, что более простым решением будет вычисляемый столбец, предполагающий, что ваша СУБД поддерживает его (это использует синтаксис SQL Server, хотя синтаксис MySql должен быть почти идентичен, за исключением того, что вы будете использовать AUTO_INCREMENT вместо Identity(1,1)):

Create Table Foo    (
                    Id int not null identity(1,1)
                    , Name varchar(50)
                    , Bar As Id + 1000 
                    )

Конечно, вы можете просто сделать это на уровне презентации или бизнес-уровня вместо базы данных.

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