mysql - where 子句中的未知列 -- Mysql

标签 mysql

好吧,我正在尝试这样的声明..

UPDATE pubs SET pubs.id=parentid.id WHERE parentid.title=pubs.title

好id是parentid的主键..

抛出的错误是

Error:Unknown column 'parentid.title' in 'where clause'

感谢帮助

最佳答案

我不确定你在找什么。关键是你需要在你的SQL中指定parent-child join。

如果您的 parent 已经设置了自引用连接,请使用以下命令:

UPDATE p
SET p.id=parentid.id
FROM pubs p
JOIN pubs parent
ON parent.id = p.parentid
WHERE parent.title=p.title

如果您希望根据标题定义父子关系,请使用:

UPDATE p
SET p.id=parentid.id
FROM pubs p
JOIN pubs parent
ON parent.title=p.title

关于mysql - where 子句中的未知列 -- Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6645406/

相关文章:

php - 用来自 sql 结果的 php 回显第 30 行?

php - 最佳 MySQL 查询性能

python - 来自 macports : missing mysqld. sock 的 Mysql 错误

mysql - perl-DBI 中十进制值之间的近似选择

mysql - Liquibase 为 mysql 导入 sql 文件在多个语句上失败

php - 我应该使用 NoSQL 而不是 MySQL 吗?

php - 如何反转php中的mysql_escape_string函数?

mysql - JPA 在查询中添加秒数

php - 关于在mysql数据库中存储值的疑问

mysql - 在一个数据库字段中存储一组 id VS 分解为一个连接表 - 使用什么 SQL?