データに変更がない場合にテーブルを更新したいのですが、SQL Serverでは可能ですが、MySQL ではどのようにできますか?
MySQL
DROP TABLE IF EXISTS PEOPLE;
CREAte tempORARY table PEOPLE
(
_data CHAR(1),
id int
);
INSERT into PEOPLE
SELECT 'N',1 UNION ALL
SELECT 'Y',2 UNION ALL
SELECT 'N',3 UNION ALL
SELECT 'Y',4;
-- now I want to update it
UPDATE PEOPLE
SET _data = 'A'
WHERE id = 1;
-- 1 row(s) affected
-- now I want to update it again
UPDATE PEOPLE
SET _data = 'A'
WHERE id = 1;
-- 0 row(s) affected
データに変更がなければ更新したい。
SQLサーバー
DECLARE @tempORARY table
(
_data CHAR(1),
id int
);
INSERT into @tempORARY
SELECT 'N',1 UNION ALL
SELECT 'Y',2 UNION ALL
SELECT 'N',3 UNION ALL
SELECT 'Y',4;
-- now I want to update it
UPDATE @tempORARY
SET _data = 'A'
WHERE id = 1;
-- 1 row(s) affected
-- now I want to update it again
UPDATE @tempORARY
SET _data = 'A'
WHERE id = 1;
-- 1 row(s) affected
質問が解決したことを願っています。まだ疑問がある場合は、コメントしてください。