mysql怎么联表插入 mysql连表添加

请教mysql怎么实现向多个表同时插入数据在一个jsp 页面表单上的数据,submit 后表单上不同的数据分别同时插入不同的表. 具体表的情况是这样的的,三个表为: person 表,operator 表,contact 表,三个表的主键为ObjectID,通过ObjectID 关联. 假如只设置了person 表的ObjectID 是自增字段,应该如何实现? 假如ObjectID 不是自增字段,应该如何设计数据表? ------解决方案-------------------------------------------------------- 建一个sequence 表,在插入表之前先取得person 表的ObjectID,然后分别插入各张表 。存储过程也可以,还有可以将表的默认值关联到sequence 上 , 这样插入的时候不需要插入这个字段,只要插入其他值就可以 。------解决方案-------------------------------------------------------- 1、假如只设置了person 表的ObjectID 是自增字段,应该如何实现? -------------------- person 表Objectid 是自增字段,那么可以先插入它,然后取出它 。如果你使用了ORM 框架,那么它会自动帮你把KEY 取出来帮设置好 。如果没有用框架 , 那么用MYSQL 的SQL 指令SELECT LAST_INSERT_ID()是可以取到你刚刚插入的记录的KEY的 。然后吧这个值附给其他2个记录 。2、假如ObjectID 不是自增字段,应该如何设计数据表? -- 建议不要这样做 。非要这么做的话,可以: (1)做一个方法 , 在每次插入前,找到 person 表的最大的 Objectid,然后加1 。这种办法需要考虑的是并发冲突导致抢号事件发生,所以要考虑采用同步 。(2)做一个专门产生号码的空表,只定义一个自增字段,然后用这个表的KEY 作为3 个表的KEY 。--其实跟前面的方法一样 , 只不过把person的自增字段移到了这个多余的表而已 。(3)专门做一个流水号表,维持一行记录,每次把流水号加 1 。这种方式同样要考虑同步的问题 。综上所述,还是1 合适!
mysql怎么用一条语句给两张表插入数据?mysql无论如何也做不到用一条语句给两张表插入数据 。
理由:一个insert语句仅能在一个表中插入,这是语法的规定 。
【mysql怎么联表插入 mysql连表添加】工具:mysql 5.6
步骤(即插入数据举例):
1、如user表有如下数据:
2、要将一条新数据,id为6,name为lilei插入表中,用如下语句:
insert into user(id,name) values (5,'lilei');
3、插入后结果:
怎么用mysql在表中插入数据?用shell脚本通过while循环批量生成mysql测试数据的方法 。
1、很多时候需要在mysql表中插入大量测试数据,下面分享一个用shell脚本通过while循环批量生成mysql测试数据的方法,你只需要根据你自己的表结构来生成sql语句即可 。
复制代码代码如下:
#!/bin/bash
i=1;
MAX_INSERT_ROW_COUNT=$1;
while [ $i -le $MAX_INSERT_ROW_COUNT ]
do
mysql -uroot -proot afs -e "insert into afs_test (name,age,createTime) values ('HELLO$i',$i % 99,NOW());"
d=$(date%M-%d\ %H\:%m\:%S)
echo "INSERT HELLO $i @@ $d"
i=$(($i 1))
sleep 0.05
done
exit 0
2、假定上面的shell脚本保存为create-data.sh,可以通过下面的命令来生成数据:
复制代码代码如下:sh create-data.sh 10000 。(参数10000是要生成的数据条数 。)
关于mysql怎么联表插入和mysql连表添加的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读