gpt4 book ai didi

mySQL 插入与选择

转载 作者:可可西里 更新时间:2023-11-01 08:48:55 26 4
gpt4 key购买 nike

我有一个工作流表,其中包含 patient_idpat_firstnamepat_lastname 数据。我想将此数据提取到患者表中。

INSERT INTO patients (patient_id, first_name, last_name)
SELECT DISTINCT patient_id, pat_firstname, pat_lastname
FROM workflow

我遇到的问题是这不起作用,因为 patient_id 是 patients 表中的主键,并且某些 first_name 字段或 last_name 字段不匹配,因此尝试插入重复项。

我想要的是只使用工作流表中的任何记录作为名字和姓氏。例如,如果有:

patient_id = 2pat_first_name = Krispat_last_name = Doman

patient_id = 2pat_first_name = Kristoferpat_last_name = Doman

我想插入任何一条记录,没关系。如何在单个插入语句中完成此操作?

最佳答案

你有两个选择:

使用 INSERT IGNORE :这不会修改已经存在的值

INSERT IGNORE INTO patients (patient_id, first_name, last_name)
SELECT DISTINCT patient_id, pat_firstname, pat_lastname
FROM workflow

或者您可以使用 REPLACE :这将插入或更新数据。

REPLACE INTO patients (patient_id, first_name, last_name)
SELECT DISTINCT patient_id, pat_firstname, pat_lastname
FROM workflow

如果节省资源很重要,不建议使用 REPLACE

查看 mysql 文档以获取有关 INSERT UPDATEREPLACE 的详细信息

关于mySQL 插入与选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19688469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com