mysql数据库问题,如何同一个操作添加两个表(a表,b表),并把b表的id添加到a表字段中,b表id自动增长
发布网友
发布时间:2022-04-09 10:29
我来回答
共4个回答
懂视网
时间:2022-04-09 14:50
在数据库中创建存储过程,比如存储过程的名字叫做 test
在java中和正常使用sql的方法一样, sql = "call test(B1,B2)", B1和B2是假设你将要插入b表中的数据
假设b表的结构是(ID int auto_incremet, B1 int, B2 int)
假设a表的结构是(ID int)
CREATE test(B1 int, B2 int) #假设A1和A2是将要插入b表中的数据
BEGIN
declare new_id as int; #声明自增长所添加的ID
insert into b(B1,B2) values(B1,B2); #给b插入新的记录
select last_insert_id() into new_id; #取得新插入记录的ID
insert into a(ID) values(new_id); #把新插入的ID写入a表
select new_id; #如果需要的话存储过程返回新得到的ID给客户端
END
注意: 为什么推荐使用存储过程,而不是直接在java程序中使用select last_insert_id(); 因为这个函数是打开当前端口时,返回最后一个插入的自增长的ID, 如果不用存储过程,可能当前链接关闭,或有其他的应用也在其他有自增长ID的表中插入新的记录, 这时你取回的ID就是错误的。
mysql数据库---同时插入两个表以上的数据
标签:
热心网友
时间:2022-04-09 11:58
在数据库中创建存储过程,比如存储过程的名字叫做 test
在java中和正常使用sql的方法一样, sql = "call test(B1,B2)", B1和B2是假设你将要插入b表中的数据
假设b表的结构是(ID int auto_incremet, B1 int, B2 int)
假设a表的结构是(ID int)
CREATE test(B1 int, B2 int) #假设A1和A2是将要插入b表中的数据
BEGIN
declare new_id as int; #声明自增长所添加的ID
insert into b(B1,B2) values(B1,B2); #给b插入新的记录
select last_insert_id() into new_id; #取得新插入记录的ID
insert into a(ID) values(new_id); #把新插入的ID写入a表
select new_id; #如果需要的话存储过程返回新得到的ID给客户端
END
注意: 为什么推荐使用存储过程,而不是直接在java程序中使用select last_insert_id(); 因为这个函数是打开当前端口时,返回最后一个插入的自增长的ID, 如果不用存储过程,可能当前链接关闭,或有其他的应用也在其他有自增长ID的表中插入新的记录, 这时你取回的ID就是错误的。
热心网友
时间:2022-04-09 13:16
建立一个中间表分别设置获取对于值,这个属于传递赋值。
热心网友
时间:2022-04-09 14:51
用触发器可以。
mysql语句怎么写(有两个表a和b,b包含a所有的字段,想将b的某一条记录...
SELECT INTO 语句 SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。SQL SELECT INTO 语法 您可以把所有的列插入新表:SELECT *INTO new_table_name [IN externaldatabase] FROM old_tablename 或者只把希望的列插入新...
mysql语句怎么写(有两个表a和b,b包含a所有的字段,想将b的某一条记录...
SELECTINTO语句SELECTINTO语句从一个表中选取数据,然后把数据插入另一个表中。SELECTINTO语句常用于创建表的备份复件或者用于对记录进行存档。有两种方法,一种方法使用mysql的checktable和repairtable的sql语句,另一种方法是使用MySQL提供的多个myisamchk,isamchk数据检测恢复工具。前者使用起来比较简便。推荐...
mysql 一个表中的两个字段a和b,如何将b的字段值一次性复制给a
update pre_common_member_count set a=(select b from pre_common_member_count as pre where uid=pre.uid )
mysql用一个数据库不同的表,如何使其中一个列和两个表产生关联
这个你要用级联操作,首先要在数据库中把两个表的id关联,通常是一对多,然后用hibernate导入数据库,在配置文件里把级联那个地方改成TRUE,就可以了。如果是多对多就麻烦了,要改很多,我也不记得了。其实这样你还不如分别改表呢,用上级联操作的话程序很容易出错,而且跳来跳取也不省事,现在一般设...
SQL数据库中2个表a 和b,a表中字段a1,b表中字段a1,修改a表中字段a1让...
1、打开企业管理器---关系图---(向导)下一步---下一步(把需要关联的表添加到右边)---完成---会出现你刚刚所选择的表,然后你可以把需要关联的字段连起来,里面有约束。2、SQL语句也可以的,如果还有疑问打开查询分析器按F1,在帮助里面找答案。
求教大神,两个表a,b字段都一样,把b表的数据加到a表的sql语句该怎么写...
Insert into a(col1,col2,col3...) select col1,col2,col3... from b where not exists(select 1 from a where b.col1=a.col1and b.col2=a.col2 )--where条件为去除b表与a表中重复的数据
MYSQL中同一个数据库中的两个表中的数据怎样合并?(只需要合并某个字段...
1、忽略表之间的关联关系ALTER TABLE db2.dbo.table NOCHECK CONSTRAINT 关系名 2、--将没有重复的数据合并 insert into db2.dbo.table(field1,field2...) select field1,field2... from db1.dbo.table a where a.username not in (select username from db2.dbo.table)3、将重复的数据写入...
有两个数据库表,两个表中的字段不同,怎么样把其中一个表中的所有记录...
sql server 和mysql可以这样:use 库1;go insert A表(要插入的字段列表)select 要插入的字段列表 from 库2.B表 ;--注意字段的对应...oracle 可以使用 exp导出 然后imp导入
数据库设计,两个表的id号如何同步
其实用不到外键 只要插入B表数据时,B表的id等于A表已有的id就可以了 查询时用内连接 select A.name,A.class,B.phone,B.address from A inner join B on A.id=B.id
mysql不同表字段的合并,数据库中有两张表tableA,tableB,但是字段不...
SELECT `aField` AS `together`FROM `aTable `UNIONSELECT `bField` AS `together`FROM `bTable `