gpt4 book ai didi

php - mysql中基于列ID的行名

转载 作者:行者123 更新时间:2023-11-29 02:52:17 26 4
gpt4 key购买 nike

我有个小问题。我是 mysql 的新手,我正在创建某种基本的猫数据库。我正在通过该代码向数据库添加 100 个职位:

 $result_set = $pdo->prepare("INSERT INTO koty2 (name, age, breed, author, tag, image) VALUES (:name, :age, :breed, :author, :tag, :image)");

$result_set->execute(array(
':name' => $name,
':age' => $age,
':breed' => $breed,
':author' => $author,
':tag' => $tag,
':image' => $image

));

for ($i=0; $i<100; $i++) {

$result_set->execute(array(
':name' => $name,
':age' => $age,
':breed' => $breed,
':author' => $author,
':tag' => $tag,
':image' => $image
));

我尝试了多种将 $name 添加到数据库的方法,其中行的 ID 是自动递增的 - 因此它将是 "Name+ID"。到目前为止我失败了。谁能告诉我该怎么做?

谢谢。

最佳答案

一种解决方法是,您可以先插入要插入的数据,获取最后插入的 ID,然后通过连接名称和 ID 来更新名称。见以下代码:

    // insert first
$result_set = $pdo->prepare("INSERT INTO koty2 (name, age, breed, author, tag, image) VALUES (:name, :age, :breed, :author, :tag, :image)");
$result_set->execute(array(
':name' => $name,
':age' => $age,
':breed' => $breed,
':author' => $author,
':tag' => $tag,
':image' => $image
));

// get the inserted ID
$last_ins_id = $pdo->lastInsertId();

// update the inserted name
$update_row = $pdo->prepare("UPDATE koty2 SET name = :name WHERE ID = :id");
$update_row->execute(array(
':name' => $name . $last_ins_id,
':id' => $last_ins_id
));

我不确定这是否是最好的解决方案,但这个逻辑仍然可以完成工作

关于php - mysql中基于列ID的行名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34426717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com