当列包含撇号时加入不起作用
Joining doesn't work when columns include apostrophes
我正在尝试更新 table 中的 ID,其中相应的唯一 ID 当前存储在另一个 table 中。
目前,table结构是这样的:
Table 1
id
name
1
As
2
Bs
3
C's
Table 2
id
name
pay
null
As
100
null
Bs
200
null
C's
300
UPDATE table2 t2
JOIN table1 t1 ON t2.name = t1.name
SET t2.id = t1.id
当我通过使用上面的查询 As 和 Bs 加入名称来更新 table 2 中的 ID 时,得到正确的 ID,但是 C 的 等所有字段都找不到匹配项,导致 ID 字段为空,如下所示。
结果
id
name
pay
1
As
100
2
Bs
200
null
C's
300
想要的结果
id
name
pay
1
As
100
2
Bs
200
3
C's
300
有什么方法可以让 mySQL 正确连接其中带有撇号的名称?
撇号类型不一致。
在@ysth 的评论中提到有不同的字符有时被用作撇号,因此将它们全部替换为标准 (') 解决了大部分问题。
我正在尝试更新 table 中的 ID,其中相应的唯一 ID 当前存储在另一个 table 中。
目前,table结构是这样的:
Table 1
id | name |
---|---|
1 | As |
2 | Bs |
3 | C's |
Table 2
id | name | pay |
---|---|---|
null | As | 100 |
null | Bs | 200 |
null | C's | 300 |
UPDATE table2 t2
JOIN table1 t1 ON t2.name = t1.name
SET t2.id = t1.id
当我通过使用上面的查询 As 和 Bs 加入名称来更新 table 2 中的 ID 时,得到正确的 ID,但是 C 的 等所有字段都找不到匹配项,导致 ID 字段为空,如下所示。
结果
id | name | pay |
---|---|---|
1 | As | 100 |
2 | Bs | 200 |
null | C's | 300 |
想要的结果
id | name | pay |
---|---|---|
1 | As | 100 |
2 | Bs | 200 |
3 | C's | 300 |
有什么方法可以让 mySQL 正确连接其中带有撇号的名称?
撇号类型不一致。
在@ysth 的评论中提到有不同的字符有时被用作撇号,因此将它们全部替换为标准 (') 解决了大部分问题。