1
在我的previous question。我有解決方案來檢查插入數據前重複哪些數據。這是MySQL存儲過程來檢查數據:如何在MySQL或PHP中多次執行相同的存儲過程?
DROP PROCEDURE IF EXISTS check_user_files;
DELIMITER \\
CREATE PROCEDURE check_user_files(IN p_user_id INT,IN p_file_id CHAR(10))
BEGIN
IF EXISTS(SELECT 1 FROM myTable WHERE user_id = p_user_id AND file_id= p_file_id) THEN
UPDATE myTable SET `file_status`=0 WHERE user_id=p_user_id AND file_id=p_file_id;
ELSE
INSERT INTO myTable(`user_id`,`file_status`,`file_id`)
VALUES (p_user_id,0,p_file_id);
END IF;
END \\
DELIMITER ;
要調用存儲過程:
CALL check_user_files('1','12');
的table [myTable]
結構:
auto_id user_id file_id file_status
1 1 12 1
2 3 12 0
3 1 17 1
4 4 31 1
5 1 41 0
6 4 31 0
7 1 18 1
8 5 11 0
9 1 10 0
而且我的問題是,我必須多數據要同時檢查和插入。例如:
('1','12'),('2','14'),('3','16'),...
但我不能調用存儲過程在同一時間在一個time.E.g檢查所有記錄:
CALL check_user_files('2','12');
CALL check_user_files('3','12');
...
只調用存儲過程的第一道防線。
所以,我怎麼能檢查在一個查詢中的所有記錄在同一時間!>
非常感謝您!