作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
表1:
| user | name |
|------|------|
| 1103 | rack |
| 1102 | tabs |
| 1103 | aki |
我想将记录从 table1
复制回 table1
并做一些小的改动。我只想复制那些值为 1103
的用户并将其值更改为 1104
并将其再次复制到 table1
如果我编辑1103
信息,例如 - 如果我在 1103
中编辑 rack
,我不希望它更改我最近复制的值。以下是我想要的正确格式 -
表1:
| user | name |
|------|-------------|
| 1103 | rack-edited |
| 1102 | tabs |
| 1103 | aki |
| 1104 | rack |
| 1104 | aki |
最佳答案
您可以在 2 个语句中做到这一点;先复制,再编辑。或者更确切地说,选择您要复制的行,然后插入它们,然后更新。
INSERT INTO table1 (id, name)
SELECT id + 1, name
FROM table1
WHERE id = 1103;
UPDATE table1
SET name = CONCAT (name, '-edited')
WHERE id = 1103 AND name = 'rack'
我不是 100% 确定您的列名称是什么,所以我使用了通用名称。 id
是带有 1103
和 1104
的列。
关于mysql - 复制并插入同一个表,不重复,对值进行微小更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50146051/
我是一名优秀的程序员,十分优秀!