资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

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 合适!

创新互联主营西畴网站建设的网络公司,主营网站建设方案,成都app开发,西畴h5微信小程序搭建,西畴网站营销推广欢迎西畴等地区企业咨询

mysql怎么用一条语句给两张表插入数据?

mysql无论如何也做不到用一条语句给两张表插入数据。

理由:一个insert语句仅能在一个表中插入,这是语法的规定。

工具: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多表操作
分享网址:http://cdkjz.cn/article/docoeis.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220