使用来自另一个表的联接更新MySql

使用来自另一个表的联接更新MySql,mysql,join,field,concat,Mysql,Join,Field,Concat,我在工作表Transaction表中添加了一列,并希望使用从Department表生成的名称填充该列。这两个表都已填充了联接字段DepartmentId 以下查询运行正常,但未更新任何行。为什么不呢 update WorkSheetTransactions inner join Departments on WorkSheetTransactions.DepartmentId = Departments.DepartmentId set WorkSheetTransactions.Depart

我在工作表Transaction表中添加了一列,并希望使用从Department表生成的名称填充该列。这两个表都已填充了联接字段DepartmentId

以下查询运行正常,但未更新任何行。为什么不呢

update WorkSheetTransactions
inner join Departments on WorkSheetTransactions.DepartmentId = Departments.DepartmentId 
set WorkSheetTransactions.DepartmentName = (Departments.GL_Account + '-' + Departments.DepartmentName)
我尝试过很多变化,但我看不出哪里出了问题。顺便说一句,两个表中的连接字段都是整数,其他两个字段都是var_chars。

在mysql中,应该使用以下字段连接字符串:

UPDATE WorkSheetTransactions
INNER JOIN Departments
ON WorkSheetTransactions.DepartmentId = Departments.DepartmentId 
SET WorkSheetTransactions.DepartmentName = concat(Departments.GL_Account, '-', Departments.DepartmentName)
在mysql中,您应该使用来连接字符串:

UPDATE WorkSheetTransactions
INNER JOIN Departments
ON WorkSheetTransactions.DepartmentId = Departments.DepartmentId 
SET WorkSheetTransactions.DepartmentName = concat(Departments.GL_Account, '-', Departments.DepartmentName)

通常,最好在应用程序级代码中处理数据显示问题。保持数据的整洁和标准化。通常,最好在应用程序级代码中处理数据显示问题。保持数据的整洁和标准化。