请问如何覆盖一个mysql表,要求字段ID已经有时为修改该记录,字段ID没有时为添加该记录。
发布网友
发布时间:2022-06-06 18:29
我来回答
共2个回答
热心网友
时间:2023-10-11 18:19
假设两个表结构完全相同。不同的话就需要指明所有的列。
Replace table2 Select * From table1
假设表名叫t1, 有id, name两个字段,其中id是主键,或者是唯一的字段
REPLACE t1 (id, name) VALUES(1, 'alan')
多条情况:
REPLACE t1 (id, name) VALUES(1, 'alan'), (2, 'lstt'), (3, 'ssnl')
原理是:id不存在是就插入一条,存在是就自动删除原来的,再插入新的
所以,REPLACE不能只修改其中的一个
如果是后者情况,只能先判断是否存在,再UPDATE了
热心网友
时间:2023-10-11 18:19
这不叫覆盖表..应该是update表吧...