您好我需要插入自动递增的' invoice_id'到第二栏' invoice_code'并加上字符' z'它。有没有办法在没有单独查询的情况下更新呢?
这是我希望在我的专栏中看到的内容:
---------------------------------------------
| invoice_id | invoice_code | invoice_value |
---------------------------------------------
| 1| z1| sample value1 |
| 2| z2| sample value2 |
| 3| z3| sample value3 |
---------------------------------------------
到目前为止我的查询:
$query = "INSERT INTO invoices () VALUES(null,
'z'.invoice_id,
'sample value'.invoice_id
)";
答案 0 :(得分:0)
尝试类似的事情,
$count = 1;
while ($count <= 3) {
$query .= "INSERT INTO invoices ("invoice_code", "invoice_value") VALUES('z'.$count, 'sample value'.$count);";
$count++;
}
抱歉编辑,没想到。
答案 1 :(得分:0)
你可以使用mysqli的函数mysqli_insert_id($conn)
来做到这一点$connection = new mysqli('localhost', 'root', 'root', 'database');
$query = "INSERT INTO invoices (invoice_value) VALUES('sample')";
// Creates new record
mysqli_query($connection, $query);
然后获取最后插入的ID
// Fetches newly inserted id
$id = mysqli_insert_id($connection);
然后更新现有行
$update = "UPDATE invoices SET invoice_code='z".$id."' WHERE invoice_id = ". $id;
// Updates the existing record with autoincrement id
mysqli_query($connection, $update);
答案 2 :(得分:0)
您需要知道此表的下一个自动增量ID是什么。
我会这样做
$query = "SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name = 'table_name' AND table_schema = DATABASE( )";