3

有没有办法使用 delete->insert 而不是使用第一条记录中的字段进行更新?

更新示例:

TABLE
---------
ID (int)  | VAL_1(VARCHAR)  | VAL_2 (VARCHAR)

消息 1: INSERT INTO TABLE VALUES (1, "first message", "some val");

消息 2: UPDATE TABLE SET ID=2 WHERE ID=1

相反,我需要删除第一条记录并插入一条新记录。有没有办法使用如下消息:

INSERT INTO TABLE VALUES(2, VAL_1 from RECORD WHERE ID=1, VAL_2 from the record WHERE ID=1);
DELETE FROM TABLE WHERE ID=1
4

2 回答 2

4

就像 tadman 说的,我认为 REPLACE 会更好地做到这一点:

http://dev.mysql.com/doc/refman/5.5/en/replace.html

于 2013-11-20T17:20:07.147 回答
3

试试这个:

INSERT INTO table (id, val_1, val_2) 
SELECT id+1, val_1, val_2 
FROM table WHERE id =1;

DELETE FROM table WHERE ID=1;
于 2012-12-21T17:20:59.907 回答