如何插入带有 value 和 Score_id 的分数?在服务器上我只知道score_type.name和score.value。我如何使用 Score_type 插入新分数?如果score_type名称存在,则获取id并插入,否则创建,获取id并插入。
最佳答案
首先尝试创建 score_type
(如果不存在):
INSERT IGNORE INTO score_type (name) VALUES ("type_name");
然后使用 INSERT ... SELECT
将 ID 插入到 score
表中:
INSERT INTO score (value, score_type_id, player_id)
SELECT 123, id, "player_name"
FROM score_type
WHERE name = "type_name";
第一个 INSERT
假设您在 score_type.name
上有一个唯一索引。 IGNORE
表示如果您尝试插入重复的名称,则会静默失败。
将 123
和 player_name
替换为已知的 score.value
和 score.player_id
。
关于mysql - 在表中插入类型 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58921931/