从另一个表中转换的值更新表

9udxz4iz  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(250)

我尝试在一个表中比较int值和转换的(varchar到int)值,在另一个表中找到一个值,然后通过phpmyadmin更新它。
注解表

id: 1   title:Lorem   postID: 15

元表

ID:99   NewID: 123 Type: "older_id"   Value:"15"

sql语句

update t1
set t1.postID = t2.NewID
from comment t1
inner join meta t2
on t1.postID = CAST(t2.value AS INT)
where t2.Type = "older_id";

我不确定我做错了什么,但我总是出错。

avkwfej4

avkwfej41#

如果您使用的是mysql(这是php的典型用法),那么正确的语法是:

update comment c join
       meta m
       on c.postId = (p2.value + 0)  -- this converts the value, although even this is not necessary
    set c.postID = m.NewID
    where m.Type = 'older_id';

根本没有 from mysql中的子句。

相关问题