【发布时间】:2010-09-14 03:10:34
【问题描述】:
这是 java 中准备好的语句的正确语法吗:
INSERT INTO table (id, version, data)
VALUES (?, ?, ?)
ON DUPLICATE KEY UPDATE
data = IF(version > values(version), data, values(data)),
version = IF(version > values(version), version, values(version))
我正在寻找利用 PreparedStatement 的 addBatch 从 Java 的 for 循环中插入或更新数百万行的最佳方法。
【问题讨论】:
-
没有“Java 中准备好的语句的语法”。 SQL 中有一个用于准备好的语句的语法。对于 Java,它只是一个字符串。
-
我在谈论问号和
values(version)... 显然这是 sql 语法,但准备好的语句可以进行某种形式的解析,对吗?
标签: java sql syntax prepared-statement