Tag: 插入更新

更新mysql列

一个简单的mySql问题,你所有的专家: 我有一个table1有三列和一堆行: [key_col|col_a|col_b] 我想用一组值(即保持col_b不变)更新col_a,如下所示: INSERT INTO table1 AS t1 (key_col, col_a) VALUES ("k1", "foo"), ("k2", "bar"); 不工作,我该怎么做?

有没有办法在Zend Framework 1.5中执行“INSERT … ON DUPLICATE KEY UDPATE”?

我想在Zend Framework 1.5中使用ON DUPLICATE KEY UPDATE ,这可能吗? 例 INSERT INTO sometable (…) VALUES (…) ON DUPLICATE KEY UPDATE …

为什么在我的INSERT … ON DUPLICATE KEY UPDATE中有两行受到影响?

我正在为下表中的PRIMARY KEY执行INSERT … ON DUPLICATE KEY UPDATE : DESCRIBE users_interests; +————+———————————+——+—–+———+——-+ | Field | Type | Null | Key | Default | Extra | +————+———————————+——+—–+———+——-+ | uid | int(11) | NO | PRI | NULL | | | iid | int(11) | NO | PRI | NULL | | | preference | enum('like','dislike','ignore') | YES […]

SQL Server插入如果不存在最佳实践

我有一个Competitions结果表,一方面持有团队成员的名字和他们的排名。 另一方面,我需要维护一个独特的竞争对手名称表 : CREATE TABLE Competitors (cName nvarchar(64) primary key) 现在我在第一张表中有大约20万的结果, 当竞争者表是空的,我可以执行这个: INSERT INTO Competitors SELECT DISTINCT Name FROM CompResults 而查询只需要大约5秒钟来插入大约11,000个名字。 到目前为止,这不是一个关键的应用程序,所以我可以考虑每月一次截断竞争对手表格 ,当时我收到了约10,000行的新竞争结果。 但是当新的和现有的竞争对手增加新的结果时,最佳做法是什么? 我不想截断现有的竞争对手表 我只需要为新的竞争对手执行INSERT语句,如果它们存在,什么也不做。

INSERT INTO …从重复键更新select…

我正在做一个插入查询,如果一个唯一的密钥已经存在,其中大多数列需要更新到新的值。 它是这样的: INSERT INTO lee(exp_id, created_by, location, animal, starttime, endtime, entct, inact, inadur, inadist, smlct, smldur, smldist, larct, lardur, lardist, emptyct, emptydur) SELECT id, uid, t.location, t.animal, t.starttime, t.endtime, t.entct, t.inact, t.inadur, t.inadist, t.smlct, t.smldur, t.smldist, t.larct, t.lardur, t.lardist, t.emptyct, t.emptydur FROM tmp t WHERE uid=x ON DUPLICATE KEY UPDATE …; //update all fields to […]

我如何更新如果存在,插入,如果没有(AKA“upsert”或“合并”)在MySQL?

有一个简单的方法来INSERT一个行,当它不存在,或UPDATE如果它存在,使用一个MySQL查询?

插入MySQL表或更新(如果存在)

我想添加一行到数据库表,但如果一行存在具有相同的唯一键我想更新行。 例如, insert into table (id, name, age) values(1, "A", 19) 假设唯一的关键是id ,并且在我的数据库中有一个id = 1的行。 在这种情况下,我想用这些值更新该行。 通常这会产生一个错误。 如果我使用insert IGNORE它将忽略错误,但它仍然不会更新。