0

首先很抱歉,如果这个问题很糟糕,但我真的很困惑,谷歌也无济于事:(

我有一个名为“项目”的表,其中包含以下列:

Name  |  Description  |  Max Grade  |
  1   |  blabla       |      2      |

我有另一个名为“uploaded_projects”的表,其中包含以下列:

Pname  | Team Code  | Grade  |  Max Grade           |
  1    |  234       |  2     | (that's what i want) |

我使用以下代码添加了外键约束。

ALTER TABLE uploaded_projects 
ADD CONSTRAINT 'fk_u_p' FOREIGN KEY 'fk_u_p'(Pname)
REFERENCES 'project'(Name)

现在我想用第一个表的“最大等级”列的值填充第二个表的列“最大等级”,这些值通过“名称”(第一个表主键)和“Pname”(第二个表列)列连接。我怎样才能做到这一点?

先感谢您

4

2 回答 2

1

您可以尝试更新语句

UPDATE uploaded_projects, project
SET    uploaded_projects.max_grade= project.max_grade
WHERE  project.`name`= uploaded_projects.pname

或使用加入

UPDATE uploaded_projects AS t1
  INNER JOIN project AS t2 ON t1.pname= t2.`name`
SET t1.max_grade = t2.max_grade
于 2013-09-29T18:27:06.723 回答
1
Update upload_projects
Inner join project on (upload_projects.pName = project.Name )
set upload_projects.MaxGrade = project.MaxGrade
于 2013-09-29T18:29:26.613 回答