我正在尝试从一行中的特定列复制数据,并将其插入/更新到另一行中,所有这些都在同一个表中。每行已经有一个 ID #(称为 order_no),因此不需要自动递增。
我认为这很简单,但它只是行不通。我的表名是“orders”,列被称为“rn”和“phone”,order_no 是“416”和“417”。我希望将 rn 和来自 416 的电话插入 rn,并将电话列插入 417。
我也试过这个查询,试图只复制一条记录 rn,没有成功并得到错误:#1248 - 每个派生表都必须有自己的别名
mysql_query("UPDATE orders
SET rn =
( SELECT rn
FROM ( SELECT rn
FROM orders
WHERE order_no = 416
)
WHERE order_no = 417 ");
我试过这个没有成功,并得到错误 #1136 - 列数与第 1 行的值计数不匹配
mysql_query
(" INSERT INTO orders (rn, phone)
SELECT rn, phone, 416
from orders
WHERE order_no = 417 ");
更新。我也在下面尝试了这个查询,只有一个字段 (rn) 无济于事,它会引发错误 #1093 - You can't specify target table 'orders' for update in FROM 子句:
mysql_query("UPDATE orders
SET rn = (SELECT rn FROM orders WHERE order_no = '416')
WHERE order_no = '417' ");
非常感谢任何帮助或帮助。谢谢