ciao!
ho creato una tabella apposita per i test:
INSERT IGNORE resitituisce 0 se non viene inserito nulla.
1 se viene effettivamente inserito un record.
però non posso fare la SELECT, perchè mi darebbe un risultato falsato.
allora ho pensato di fare così:
codice:
DELIMITER //
DROP PROCEDURE IF EXISTS import_test //
CREATE PROCEDURE import_test(
IN valore VARCHAR(255)
)
NO SQL
BEGIN
INSERT IGNORE INTO a_test
VALUES (NULL, valore);
SELECT id AS last
FROM a_test
WHERE nome = valore
UNION ALL
SELECT LAST_INSERT_ID() AS last_id;
END
poi da PHP verificio che last e last_id siano uguali:
- se lo sono vuole dire che è stato inserito un articolo nuovo
- sennò no, perchè nel caso di IGNORE last_id è zero
sto facendo un pò di test, ma sembra funzionare!