mysql 将多条语句用";"分开 怎么设置才能正常执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 将多条语句用";"分开 怎么设置才能正常执行相关的知识,希望对你有一定的参考价值。

目前方法:

建立connection:conn = DriverManager.getConnection( "jdbc:mysql://localhost:3306/testsql?user=root&password=121212" );
一个语句里写了多条语句并用";"分开,比如

sql=“Insert Into TableA (name) Values ( 'a' );Insert Into TableA (name) Values ( 'b' );”
执行插入语句:
Statement st = conn.createStatement();
st.executeUpdate( sql );
目前不能正常执行,查资料好像说mysql默认连接属性不支持多条语句。求指导。
==============================================================

环境是myeclipse 6.5+mysql5.0+jdk1.6,不是php
我不要拆开一条一条执行,也不要写综合语句
在线等答案,回答必赞,及时采纳

==============================================================
网上说的allowMultiQueries,CLIENT_MULTI_STATEMENTS或者Allow multiple statements改成true,用java代码是怎么设的?

参考技术A sql=“Insert Into TableA (name) Values ( 'a' ),( 'b' );”追问

最想知道的是,多条语句怎么正常执行....比如两次插入不同的表,比如又插入又删除的...

追答

要么分开写要么写个储存过程啥的

本回答被提问者采纳

PHP表单多条数据储存

<form action="" method="post">
<input name="xmuser[]" value=“$rowxs[userid]" style="width:65px" type="text" class="intxt">
<input name="bumen[]" value=“$rowxs[bumen]" style="width:65px" type="text" class="intxt">
<input name="xmuser[]" value=“$rowxs[userid]" style="width:65px" type="text" class="intxt">
<input name="bumen[]" value=“$rowxs[bumen]" style="width:65px" type="text" class="intxt">
<input name="xmuser[]" value=“$rowxs[userid]" style="width:65px" type="text" class="intxt">
<input name="bumen[]" value=“$rowxs[bumen]" style="width:65px" type="text" class="intxt">
<input class="buttonGreen142" type="submit" value="保存" style="border:0px;"/>
</form>
<?php
if($_POST)
$cxbm = $_POST['xmuser'];
$bumen= $_POST['bumen'];
$res = " insert into #@__paibanbiao (xmuser,bumen) values ('$xmuser','$useridbm')";
if($dsql->ExecuteNoneQuery($res))
showmsg('恭喜!添加成功!', 'edit_paibanbiao.php');
exit();


?>
上面是3条记录 php要怎么把他们分别储存到表去呢?帮我写一下代码。谢谢。

参考技术A 不知道的情况,先获取打印出来,你就知道了。
获取出来的是个数组,也就是相同名字归为一个数组,然后你通过 循环一个个的赋值插入即可。
类似:
获取到的值: $arr = array( 'xmuser'=>array(0=>'x',1=>'y') , 'bumen'=>array(0=>'x1',1=>'y'1) );
计算数组内最大值,直接 count( $arr['xmuser'] ) ;
他是按顺序来接收数值的,所以,按照顺序:0、1、2、3 ... 赋值变量插入即可。 或者你可以改成MySQL 的 批量插入方法,一样。 量不大都可实现。 MySQL 批量插入是有一个峰值的。
for 或 foreach 直接循环 就行。 自己练着写吧。
参考技术B //给你写php接受参数部分
if ( $_POST ) 
   $ArrayA = $_POST['xmuser'];
   $ArrayB = $_POST['bumen'];
   foreach( $ArrayA as $key => $val ) 
      $cxbm  = $val;
      $bumen = $ArrayB[ $key ];
      /*
        这里是你的其他代码, 和你上面的插入数据库的代码差不多了!
      
      */
   

本回答被提问者和网友采纳

以上是关于mysql 将多条语句用";"分开 怎么设置才能正常执行的主要内容,如果未能解决你的问题,请参考以下文章

mysql 根据某个字段将多条记录的某个字段拼接成一个字段

MyBatis--动态插入多条数据

THINKPHP中如何进行循环插入多条数据

access SQL语句中 insert into

PHP表单多条数据储存

node sql语句占位符用法(防sql注入攻击)