我有一个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内部。
答案 0 :(得分:0)
在AND和where子句" ChildID = 1AND"
之前给出空格