我正在尝试增加'公司'表中的'sellingDate'字段。
UPDATE company
SET sellingDate = ((SELECT DATE_ADD((SELECT sellingDate
FROM company
WHERE cid = '35'), INTERVAL 1 DAY)))
WHERE cid = '35';
此查询给出了一个错误说明:
错误代码:1093
中为更新指定目标表'company'
您无法在FROM子句
我在这里做错了什么?
答案 0 :(得分:2)
使用:
UPDATE company
SET sellingDate = DATE_ADD(sellingDate, INTERVAL 1 DAY)
WHERE cid = '35'
MySQL不允许UPDATE语句中的子查询针对同一个表,但此示例不需要子查询。由于某些奇怪的原因,UPDATE语句中的自联接不会返回1093错误,尽管它是相同的逻辑。
答案 1 :(得分:0)
尝试:
UPDATE company SET sellingDate = DATE_ADD(sellingDate, INTERVAL 1 DAY) WHERE cid = '35';
答案 2 :(得分:0)
您不能使用要更新的同一个表中的子查询 但是,您可以通过此查询实现相同的目标
UPDATE company SET sellingDate=DATE_ADD(sellingDate, INTERVAL 1 DAY) WHERE cid = '35';
答案 3 :(得分:0)
为什么需要使用嵌套查询来增加此字段?
UPDATE company SET sellingDate = DATE_ADD(sellingDate, INTERVAL 1 DAY) WHERE cid = '35';