我有这样构建的mysql表:
CREATE TABLE `posts` (
`post_id` INT(10) NOT NULL AUTO_INCREMENT,
`post_user_id` INT(10) NOT NULL DEFAULT '0',
`gen_id` INT(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`post_user_id`, `post_id`)
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM;
当我做:
insert into posts (post_user_id) values (1);
insert into posts (post_user_id) values (1);
insert into posts (post_user_id) values (2);
insert into posts (post_user_id) values (1);
select * from posts;
我得到:
post_id | post_user_id | gen_id
1 1 0
2 1 0
1 2 0
3 1 0
为每个唯一用户生成一个唯一的post_id。
我需要gen_id列为1 2 3 4 5 6等。执行插入操作时如何增加此列。我尝试了以下方法,但无法正常工作。什么是正确的方法?
insert into posts (post_user_id,gen_id) values (1,select max(gen_id)+1 from posts);
//Select the highest gen_id and add 1 to it.
试试这个:
INSERT INTO posts (post_user_id,gen_id)
SELECT 1, MAX(gen_id)+1 FROM posts;
我有一个数据库表Cars,每一行代表不同的车型,具有不同的id、品牌、型号和数量。我想使用Hibernate编写一个查询,以获得按品牌划分的最受欢迎汽车的数量,例如,在DB中有5辆大众Polo、3辆大众Tiguan、4辆斯柯达Octavia、8辆斯柯德Rapid,我想得到一个结果:大众:5辆斯科达:8辆 这是我的疑问: 接口车看起来是这样的: 该查询在IntelliJ中工作正常,它带来了预期的结果
我试图在postgres表的numeric datatype列中插入一个日期值 在上面的查询中,col1是numeric类型。 我还可以使用value()子句插入一些值,使用select语句插入一些值吗?例如: 在上表中:1。col1即将到来序列2。col2和col3来自两个表的连接,即表B和表C 3。col4和col5是硬编码值 如何在一个查询中实现这一点? 通过两个表的连接进行插入,可按如下方
问题内容: 我是Firebird的新手,我遇到了很多问题。我想在从另一个表中选择的表中插入各种行。 这是代码: ID应该从66开始自动递增。posid应该从1开始自动递增。 实际上,它没有插入任何内容。 我正在使用Firebird Maestro,并且刚刚打开了SQL脚本编辑器(在执行脚本时不会抛出任何错误消息)。 有谁能够帮我? 谢谢! 附加信息: 触发器应自动增加“ ID”列-但我不知道如何精
学生课程 我有一个名为v_student_course的Student_Course视图,它包含student_id、course_id和主题(从课程表中检索)。 V_student_course 我必须通过显示一个学生被分配到什么课程来表示学生和课程之间的多对多关系。但是,所有选择必须使用v_student_course视图来完成,所有插入/更新必须使用student_course表来完成。 >
我的表模式在H2 db中如下所示: 创建表如果不存在测试(id bigint not null,名称varchar(255),主键(id)); alter table Test add约束(如果不存在)Test_NAME UNIQUE(name); 如果name=Default条目不存在,则插入。 ID名称 1 ABC 它给出了一个错误,因为merge试图用新值进行更新。如果它发现'Default
我使用的是Eclipselink(JPA)+GlassFish V3.1.2+NetBeans 7.1.2 我有一个带有复合主键的表: