【发布时间】:2025-12-27 19:15:06
【问题描述】:
我希望复制数据库中的 4 个现有行,并且需要更改新行中其中一列的值。我需要这样做并确保没有创建重复项。到目前为止我所拥有的是
INSERT INTO table (col1, col2, col3)
SELECT 141, col2, col3,
FROM table
WHERE col1 = 99 AND NOT EXISTS
(SELECT * FROM table WHERE col1 = 141, col2, col3)
但是,当我尝试运行此程序时,我的 (SELECT * FROM table WHERE col1 = 141, col2, col3) 行中的逗号处出现语法错误。
谁能帮忙?
编辑:我的数据库中有 4 行具有以下值
| col1 | col 2 | col 3 |
|---|---|---|
| 99 | 1 | Enabled |
| 99 | 3 | A |
| 99 | 4 | B |
| 99 | 5 | C |
我想创建以下行,但首先检查重复项
| col1 | col 2 | col 3 |
|---|---|---|
| 141 | 1 | Enabled |
| 141 | 3 | A |
| 141 | 4 | B |
| 141 | 5 | C |
【问题讨论】:
-
WHERE不接受逗号。而且你的意图还不清楚。您指定要复制 四个 值,但该语句只有三列。总的来说,我无法理解这个问题。 -
您使用的是哪种 DBMS 产品? “SQL”只是所有关系数据库都使用的一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加tag。 Why should I tag my DBMS
-
嗨,我已经更新了我的问题,所以我希望这更容易理解:)