首页 > 解决方案 > 在不使用 AUTO INCREMENT 的情况下将值插入数据库表时如何增加列

问题描述

我的数据库“#”中有一个列,我想为我执行的每个插入语句增加它。

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

我无法更改表以使用 AUTO INCREMENT。

我在网上找到了这个,但我不知道在 for(..) 里面放什么

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

标签: phpmysql

解决方案


好吧,您可以尝试在表中插入先前的最大值#,再加一个:

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

在这里,我使用?占位符来表示信用卡商店和验证码,假设您应该使用 PHP 准备好的语句。


推荐阅读