gpt4 book ai didi

php - 自动主键插入自定义表 $wpdb

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:30 25 4
gpt4 key购买 nike

我需要按数字插入到具有主键“id”的自定义表,但我遇到了这个问题,例如

我的表中有 5605 行(从 id = 1 开始),所以我必须设置当前 id = 5606 才能插入。

1/我手动设置了 $data['id'] = 5606 来插入它,它工作正常。插入了 ID 为 5606 的当前行。

但我希望它能自动获得正确的 id 来插入,所以我这样做了

2/select * 返回表中的当前行数,它返回 5604(当我检查数据库有 5605 时总是减 1)。所以 I + 2 然后插入。它最终在我的表中插入 3 次,如 5606 5607 5608。请帮助我这是我的代码

 $data = array(
'name' => 'naomi',
'ability' => 'walk',
);

$wpdb->get_results("SELECT * FROM contest");
$numid = $wpdb->num_rows;
$numid +=2;
$data['id'] = $numid;
$wpdb->insert('contest', $data);

给定的数字是例如,我的问题是那个格式。

最佳答案

只需将列 ID(或您用作主键的任何内容)声明为 AUTO_INCREMENT (在 MySQL 中)或 SERIAL(在 PostgreSQL 中)并插入除主键之外的所有其他列。示例:

CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
);

INSERT INTO persons (LastName,FirstName,Address,City) VALUES (
'Sample','Person','Sample-street','Sample-city'
);

不止!您不应该对主键使用任何手动插入,因为这会给您带来很多处理不成功查询等问题。

第二部分。要返回表中的行数,只需使用

SELECT COUNT(id) FROM persons;

关于php - 自动主键插入自定义表 $wpdb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39182909/

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