我试图从一行中的特定列中复制数据,并将其插入/更新到另一行,全部在同一个表中。每行都有一个ID#(称为order_no),所以不需要自动增量。如何在同一个表中将数据从一行复制到另一行?
我认为这会很简单,但它只是不工作。我的表名是'orders',列名称是'rn'和'phone',order_no是'416'和'417'。我想,并且从416插入到手机中,并且电话列为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 - 你不能指定目标表“订单”的更新FROM子句:
mysql_query("UPDATE orders
SET rn = (SELECT rn FROM orders WHERE order_no = '416')
WHERE order_no = '417' ");
任何帮助或援助非常感谢。谢谢
你得到一个错误
:你应该用临时表是这样?发生了什么? – 2012-08-01 01:29:58
我得到的错误,使用更新的查询是:#1136 - 列计数与第1行的值计数不匹配 – DeeJay 2012-08-01 08:19:44