0
String x=jTextField1.getText();

连接到数据库后,查询是:

String query="INSERT INTO student(A) VALUES('"+a+"') where date=' " +x+ " ';";

stmt.executeUpdate(query);

*a 是一个分配有字母 P 的字符串。

我得到的错误是“....检查你的 mysql 语法....对应于 date='"+x'";"

我想将文本字段中输入的日期与 mysql 'date' 列中的日期进行比较,如果正确,则应将 'a' 值(即 P)写入输入日期同一行的 A 列中...

请帮忙...

谢谢...

4

1 回答 1

1

我在单引号之后/之前看到一个空格。

此外date,它也是一个 SQL 关键字,因此最好不要将其用作字段名称。你可以写

`date`

添加

抱歉,我意识到我犯了错误(date在我们插入新记录时不能查询字段)。你的意思是:

String query = "INSERT INTO student(A) VALUES('P') WHERE CURRENT_DATE() = '2012-05-09'";

或者date是一个字段,而你只想设置另一个字段:

String query = "UPDATE student SET A = 'P' WHERE `date` = '2012-05-09'";

将新记录插入同一张表

这是不允许立即执行的,因此必须使用临时表。

CREATE TEMPORARY TABLE tmp (A VARCHAR(1));

INSERT INTO tmp (A) 
SELECT 'P' FROM student WHERE dt = '...';

INSERT INTO student(A) 
SELECT A FROM tmp;

DROP TABLE tmp;
于 2012-05-07T15:24:31.720 回答