VALUE里面的MySQL SELECT + max(ID)+1

时间:2015-04-10 12:15:58

标签: mysql wordpress

知道如何更改max(ID)+1以从wp_post表中选择最高的自动增量值。我想确保我可以选择相当于max(ID)+1

INSERT INTO `wp_posts`(`ID`, `post_author`, `post_title`, `post_status`, `comment_status`,`post_type`)
    VALUES ((SELECT max(ID)+1 FROM wp_posts),1,'name lastname', 'publish', 'closed', 'post_type');

上面的查询有错误,因为它无法从设置了INSERT语句的同一个表中选择max + 1.

5 个答案:

答案 0 :(得分:0)

您建议id自动递增。如果没有,那应该是。然后你会把声明写成:

INSERT INTO `wp_posts`(`post_author`, `post_title`, `post_status`,
                       `comment_status`,`post_type`)
    VALUES (1, 'name lastname', 'publish', 'closed', 'post_type');

答案 1 :(得分:0)

Gordon Linoff一样,在这里使用ID作为自动增量是create table example ..

CREATE TABLE wp_posts
(
ID int NOT NULL AUTO_INCREMENT,
post_author varchar(255) NOT NULL,
post_title varchar(255),
post_status varchar(255),
comment_status varchar(255),
post_type varchar(255),
PRIMARY KEY (ID)
)

你可以像戈登提到的那样插入..

INSERT INTO `wp_posts`(`post_author`, `post_title`, `post_status`,
                       `comment_status`,`post_type`)
    VALUES (1, 'name lastname', 'publish', 'closed', 'post_type');

答案 2 :(得分:0)

使用auto-increment

  

AUTO_INCREMENT属性可用于为新行生成唯一标识。

答案 3 :(得分:0)

您可以向现有表添加自动增量,以实现您要执行的操作。 ALTER TABLE wp_posts MODIFY id int(11) AUTO_INCREMENT;

答案 4 :(得分:0)

设置@ ID =(SELECT if(max(id)为null,1,max(id)+1)FROM wp_posts);

INSERT INTO wp_postsIDpost_authorpost_titlepost_statuscomment_statuspost_type)     VALUES(@ ID,1,'名称姓氏','发布','关闭',' post_type');