java - 我的JDBC sql语句有什么问题

标签 java mysql sockets jdbc client-server

我正在编写一个允许客户端与服务器通信的 java 套接字应用程序,其他要求之一是它还需要初始化 JDBC。我相信我已经正确地编写了我的 JDBC 连接方法,并且我的插入语句在类似的项目中也是这样工作的。这可能是一个简单的错误,因为我没有使用 IDE,有人可以告诉我我的 SQL 语句有什么问题吗?所有信息都正确,但无法编译。

错误:

C:\Users\imallin\My Documents> javac provider.java
Provider.java:88 ';' expected 
String sql = "Insert INTO 'users' ('ID', 'firstName') VALUES ("123","123")";

最佳答案

您的直接问题是您需要转义字符串中的双引号。这是因为当编译器看到另一个 " 时,它认为它是 String 定义的结尾并执行一个分号。

String sql = "Insert INTO 'users' ('ID', 'firstName') VALUES (\"123\",\"123\")";

现在 Java 编译器很高兴,您将遇到与 SQL 相关的问题。

通常使用 SQL,您会希望使用单引号来表示字符串。看来 MySQL 特别允许双引号,但只有当 SQL QUOTES ANSI mode is not set .所以这里最好用单引号来表示字符串。

这可能是您想要的,假设 ID 列是一个整数,并且 firstName 列是一个字符串/varchar。

String sql = "Insert INTO users (ID, firstName) VALUES (123,'123')";

关于java - 我的JDBC sql语句有什么问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10500786/

相关文章:

java - JEdi​​torPane 在显示 HTML 时是否有 Charset 问题?

MySQL查询返回月份列表

javascript - 单击 mysql ajax 下拉菜单后重定向到链接

php - sql 如何统计数字

php - 在两个应用程序之间传输大量数据的最快方式

Java套接字连接问题

java - Java (Swing) 中的 GUI 体系​​结构和设计

java.lang.NoSuchMethodError : javax. persistence.JoinColumn.foreignKey

java - 排除 MANIFEST.MF 中的条目

node.js - 检查游戏状态并向连接的客户端发送套接字的正确方法是什么?