0
テーブルのすべての行を更新したいと思います。MySQLの行番号で更新。 foreach行ですか?
SET DELIMITER ;;
DECLARE i INT DEFAULT 0;
DECLARE n INT DEFAULT 0;
SET i = 0;
SELECT COUNT(*) FROM table1 INTO n;
WHILE i < n DO
UPDATE table1
SET col1 = col1 + col2
WHERE ROW_NUMBER = i;
SET i = i + 1;
END WHILE;;
ROW_NUMBER
上記は私が見つけ出すものです。私はどのようにタプルの行番号を見つけるか分からない。
行番号を使用してWHERE
句で更新するにはどうすればよいですか?
SET DELIMITER ;;
CREATE TABLE table1 (
col1 INT,
col2 INT
);;
INSERT INTO table1 VALUES
(5, 2),
(2, 6),
(3, 7);;
+----+----+
|col1|col2|
+----+----+
| 5 | 2 |
| 2 | 6 |
| 3 | 7 |
+----+----+
期待される成果は、次のようになります。
+----+----+
|col1|col2|
+----+----+
| 7 | 2 |
| 8 | 6 |
| 10 | 7 |
+----+----+
クエリを編集して、希望する結果を表示してください。 'ROW_NUMBER'とは何ですか? –