如何通过提供主键来更新mySql表?

时间:2014-05-25 00:26:28

标签: java mysql

我有一个MySQL数据库。其中一个表是:

sqlString = "CREATE TABLE Parents ("
            + "ChildID SMALLINT NOT NULL,"
            + "Name VARCHAR(50) NOT NULL,"
            + "Address VARCHAR(100),"
            + "MobilePhone LONG,"
            + "WorkPhone LONG,"
            + "PRIMARY KEY (ChildID, Name),"
            + "FOREIGN KEY(ChildID) REFERENCES Children(ChildID))";
stmt.executeUpdate(sqlString);

我先执行此更新: sqlString = "INSERT INTO Parents (ChildID, Name) VALUES (1, 'Mom')";

它工作正常。但是当我需要向父母添加更多信息时,我只是从中得到一个无法解释的SQLSyntaxError:

sqlString = "UPDATE Parents SET Address='Fakestreet 1'WHERE ChildID=1 AND Name='Mom'";

如果我删除AND条件,它将完美无缺。我已经用尽了所有可能的想法来修复它。

为什么我会收到语法错误?

我猜测问题是我的WHERE子句中的2列是Parents的主键。我是否应该以某种方式使用外键来添加孩子父母的信息?是否实际使用了声明实用键?我看到它的方式唯一的用途是在DBMS内部。

1 个答案:

答案 0 :(得分:0)

在AND和where子句" ChildID = 1AND"

之前给出空格