Как я могу увеличить столбец при вставке значений в таблицу базы данных, не используя AUTO INCREMENT - PullRequest
0 голосов
/ 16 марта 2020

В моей базе данных есть столбец "#", я хотел бы увеличить его для каждого оператора вставки, который я делаю.

$sql = "INSERT INTO card (#,creditCard, expdate, cvv)
            VALUES ('','$creditCardStore','2020-01-01','$cvv')";

Я не могу изменить таблицу для использования AUTO INCREMENT.

Я нашел это в Интернете, но я не знаю, что положить внутрь для (..)

$value = 1;
for(...){
 $sql = 'INSERT ...'; 
 $value++; 
}

Ответы [ 3 ]

1 голос
/ 16 марта 2020

Хорошо, вы можете попробовать вставить предыдущее максимальное значение для # в вашу таблицу, плюс один:

INSERT INTO card (num, creditCard, expdate, cvv)
SELECT MAX(num) + 1, ?, '2020-01-01', ?
FROM card;

Здесь я использую ? заполнители для магазина кредитных карт и кода подтверждения, под предположение, что вы должны использовать PHP подготовленный оператор.

0 голосов
/ 16 марта 2020

Попробуйте, это сработает, просто добавьте плюс один в этом столбце.

$sql = "INSERT INTO card set id=id+1,creditCard='$creditCardStore', expdate=''2020- 
    01-01', cvv='$cvv'";
0 голосов
/ 16 марта 2020

Как насчет проверки того, что было последним #, установить его как переменную, увеличить другую переменную и вставить эту переменную?

Как-то так (Это не правильный код, просто описание из того, что я имел в виду выше) ВЫБЕРИТЕ # ИЗ ОГРАНИЧЕНИЯ 1 карты ЗАКАЗАТЬ ПО # КАК C

n1 = # n2 = # + 1

, а затем в значении вставить n2.

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