0
ユーザー(id、company、name)
これは私のスキーマです。どのように新しい行を挿入する前に、重複をチェックするトリガーを書く必要があります。受信したデータが受信レコードと重複していないことを確認する必要があります。着信レコードが存在する場合、そのレコードをテーブルに挿入すべきではない。もしそのレコードを複製していないと挿入されなければならない!以下は挿入する前に重複するレコードを確認するためにmysqlにトリガーを書き込むにはどうすればいいですか?
は、私が試したトリガーですが、それはここでは受け入れ答えによると、「最後の最後」行
DELIMITER $$
CREATE TRIGGER userDuplicate
BEFORE INSERT ON `users` FOR EACH ROW
BEGIN
DECLARE recordId VARCHAR(999);
SET recordId = (SELECT id FROM users WHERE company= NEW.companyAND name = NEW.name);
IF recordId IS NOT NULL
THEN
INSERT INTO users (company,name) VALUES (NEW.name,NEW.company);
END IF;
END;
$$ DELIMITER;
あなたはユニークなインデックスを作成しようとしたことがありますか? https://stackoverflow.com/questions/635937/how-do-i-specify-unique-constraint-for-multiple-columns-in-mysql – Surberus
はい!私はトリガーを実装する必要があります。 –
トリガーが必要な場合や、重複していないレコードをエラーなく挿入する必要がある場合は、 –