[英]MYSQL update if exists or insert
我一直在嘗試使以下SQL工作,但是似乎跳過了插入功能。 從本質上講,更新應該在大多數時候被優先處理。
UPDATE `teams-tasks`
SET status=(:s), name=(:n), description=(:d), importance=(:i), applies=(:a)
WHERE teamId =(:t) AND date=(:da) AND playerId =(:p) AND creatorId =(:c);
IF (SELECT ROW_COUNT() = 0);
INSERT INTO `teams-tasks`
( status, date, creatorId, teamId, playerId, name, description, importance, applies )
VALUES
( (:s), (:da), (:c), (:t), (:p), (:n), (:d), (:i), (:a) ))
我究竟做錯了什么? 如果有問題,我正在使用php pdo進行數據庫連接
謝謝
用戶替換為查詢,以確保該行是否存在將更新數據,如果該行不存在則將插入日期。
檢查重復的條目,它在內部比較主鍵
例如
REPLACE INTO table_name(column_name1,column_name2,…)
VALUES(value1,value2,…)
例如
REPLACE INTO offices(officecode,city)
VALUES(8,'San Jose')
謝謝阿米特
您應該使用INSERT ... ON DUPLICATE KEY UPDATE
例如
INSERT INTO AggregatedData (datenum,Timestamp)
VALUES ("734152.979166667","2010-01-14 23:30:00.000")
ON DUPLICATE KEY UPDATE
Timestamp=VALUES(Timestamp)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.