gpt4 book ai didi

mysql - MyBatis 为 MySQL 创建多个表

转载 作者:行者123 更新时间:2023-11-29 07:32:12 25 4
gpt4 key购买 nike

正如你所想象的,

CREATE TABLE table1(id int);
CREATE TABLE table2(id int);

可以在 MySQL 和几乎所有其他 SQL 数据库上轻松执行。

这个

<update id="test">
CREATE TABLE table1(id int);
CREATE TABLE table2(id int);
</update>

可以在 MS SQL Server 上执行,但不能在 MySQL 数据库上执行。错误:

Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: 
### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TABLE table2(id int)' at line 2
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: CREATE TABLE table1(id int); CREATE TABLE table2(id int);

有什么想法吗?为什么会出现这种情况?

编辑:

<update id="test">
CREATE TABLE table(id int);
</update>

..在任何地方都有效。

编辑澄清:我完整的mybatis mapper.xml。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="InitializationMapper">
<update id="test">
CREATE TABLE table1(id int);
CREATE TABLE table2(id int);
</update>
</mapper>

最佳答案

尝试将“allowMultiQueries”选项添加到 Mybatis 配置文件中的 JDBC URL,例如:

jdbc:mysql://myserver/mydatabase?allowMultiQueries=true

它似乎对这里的人有用:Multiple queries executed in java in single statement

关于mysql - MyBatis 为 MySQL 创建多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32226250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com