我上的程序排隊的4名球員MySQL的更新多個行和列的條件
任何視頻遊戲玩家的工作,這是我的表結構:
CREATE TABLE IF NOT EXISTS `ozbah_users` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) NOT NULL,
`user_status` varchar(2) NOT NULL,
`user_priority` varchar(2) NOT NULL,
`user_event_id` int(11) NOT NULL,
`user_modifiedon` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`user_id`),
KEY `user_event_id` (`user_event_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
+-----------------+--------------+------+-----+-------------------+-------------
---+
| Field | Type | Null | Key | Default | Extra
|
+-----------------+--------------+------+-----+-------------------+-------------
---+
| user_id | int(11) | NO | PRI | NULL | auto_increme
nt |
| user_name | varchar(255) | NO | | NULL |
|
| user_priority | varchar(2) | NO | | NULL |
|
| user_status | varchar(2) | NO | | NULL |
|
| user_event_id | int(11) | NO | MUL | NULL |
|
| user_modifiedon | timestamp | NO | | CURRENT_TIMESTAMP |
|
+-----------------+--------------+------+-----+-------------------+-------------
,這是插入的數據:
INSERT INTO `ozbah_users` (`user_id`, `user_name`, `user_priority`, `user_status`, `user_event_id`, `user_modifiedon`) VALUES
(1, 'A', 'A1', 'A', 1, '2015-06-26 19:22:45'),
(2, 'B', 'A2', 'A', 1, '2015-06-26 20:02:25'),
(3, 'C', 'A3', 'A', 1, '2015-06-26 20:22:16'),
(4, 'D', 'A4', 'A', 1, '2015-06-26 20:22:17'),
(5, 'E', 'W1', 'A', 1, '2015-06-26 20:22:19'),
(6, 'F', 'W2', 'A', 1, '2015-06-26 20:22:35'),
(7, 'G', 'W3', 'A', 1, '2015-06-26 20:22:55');
(8, 'H', 'W4', 'A', 1, '2015-06-26 20:32:15'),
mysql> SELECT * FROM `ozbah_users`
-> ORDER BY `ozbah_users`.`user_modifiedon` ASC;
+---------+-----------+---------------+-------------+---------------+-----------
----------+
| user_id | user_name | user_priority | user_status | user_event_id | user_modif
iedon |
+---------+-----------+---------------+-------------+---------------+-----------
----------+
| 1 | A | A1 | A | 1 | 2015-06-26
22:22:45 |
| 2 | B | A2 | A | 1 | 2015-06-26
23:02:25 |
| 3 | C | A3 | A | 1 | 2015-06-26
23:22:16 |
| 4 | D | A4 | A | 1 | 2015-06-26
23:22:17 |
| 5 | E | W1 | A | 1 | 2015-06-26
23:22:19 |
| 6 | F | W2 | A | 1 | 2015-06-26
23:22:35 |
| 7 | G | W3 | A | 1 | 2015-06-26
23:22:55 |
| 6 | H | W4 | A | 1 | 2015-06-26
23:22:35 |
| 7 | I | W5 | A | 1 | 2015-06-26
當你看到user_priority
有活動或當前玩家Wn
2個值An
等待玩家ñ是從1月1日至4日
等待玩家Wn
的球員名單隊列號
現役球員An
沒有限制
條件是現役球員是2隊
球隊1:user_priority
A1和A2
隊2:user_priority
A3和A4
如果隊伍輸掉比賽,雙方球員將移動到等待列表末尾 等待列表中的第一名球員將移動到主動列表的末尾,優勝隊將移動到頂端活躍的球員名單上
例如隊2輸這麼A3和A4將移動到末待崗和第2名等待名單會去的活動列表末尾
我會改變的球員的名字和user_modifiedon
的主要問題在這裏,我想更新(從Active 球員2或4行)和(在等候名單一切都將被轉移),這是什麼 我需要的!
,因爲在這種情況下,我需要爲每一行創建一個更新語句
+---------+-----------+---------------+-------------+---------------+-----------
----------+
| user_id | user_name | user_priority | user_status | user_event_id | user_modif
iedon |
+---------+-----------+---------------+-------------+---------------+-----------
----------+
| 1 | A | A1 | A | 1 | 2015-06-26
22:22:45 |
| 2 | B | A2 | A | 1 | 2015-06-26
23:02:25 |
| 3 | E | A3 | A | 1 | 2015-06-26
23:22:16 |
| 4 | F | A4 | A | 1 | 2015-06-26
23:22:17 |
| 5 | G | W1 | A | 1 | 2015-06-26
23:22:19 |
| 6 | H | W2 | A | 1 | 2015-06-26
23:22:35 |
| 7 | I | W3 | A | 1 | 2015-06-26
23:22:55 |
| 8 | C | W4 | A | 1 | 2015-06-26
23:42:18 |
| 9 | D | W5 | A | 1 | 2015-07-01
22:32:49 |
+---------+-----------+---------------+-------------+---------------+-----------
----------+
我已創建它使用2周的ArrayList的Java類似這樣的事是java代碼
這2個數組列表將包含主動和等待玩家
列表,這是輸出
Initial size of current: 0
Initial size of waiting: 0
Size of current after additions: 4
Size of waiting after additions: 2
Contents of current: [A, B, C, D]
Contents of waiting: [E, F]
Contents of current BEFORE Deleting: [A, B, C, D, E, F]
Size of current BEFORE Deleting: 6
Contents of waiting BEFORE Deleting: [E, F, A, B]
Size of waiting BEFORE Deleting: 4
current.get(0): B
current.get(0): C
Contents of current AFTER Deleting: [C, D, E, F]
Contents of waiting AFTER Deleting: [A, B]
我的問題是,什麼是最好的SQL查詢來更新多行,並保持正確的順序作爲我的例子嗎?
的主要問題是在這裏,我想更新(從Active 球員2或4行)和(在等候名單一切都將被轉移),這是什麼 我需要的!
謝謝
我要說的是,這個問題太長,在其當前格式。 –
@這裏的主要問題是我想更新(來自活動玩家的2行)和(等待列表中的所有內容都將被移動),這就是我需要的! –
您好,請根據[本指南](http://stackoverflow.com/help/mcve)簡化您的問題。 – cychoi