SQL INSERT行基于具有相同列值的另一行

时间:2018-02-04 20:37:05

标签: mysql

SNO | BOARD        | PLAYER_ID     | SIGN
1   | xyz          | 1             | X
2   | xxx          | 1             | O

我为游戏tic tac toe创建了一个类似的表,我想基于具有相同列值的另一行插入行。

例如:

如果我发送BOARD = xyzPLAYER_ID = 2,那么MySQL应该考虑SIGN = O

我可以使用ENUM仅接受SIGN列的2个值来接受X or O值(建议我更好的想法)。

1 个答案:

答案 0 :(得分:1)

在此处找到INSERT语法:

https://dev.mysql.com/doc/refman/5.7/en/insert.html

他们的例子

INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;

如果您将其与上述IF的{​​{1}}部分中的SET功能结合使用,请参阅:

https://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html

e.g。

UPDATE

你应该可以为玩家和游戏切换片段。

您还需要一些方法来确定最近的举措。如果IF(SIGN='X,'O','X') 旨在成为唯一的递增移动标识符,则SNO + 1可用于在添加行时将其递增。