Я использую MySQL Workbench (6.3), и я пытаюсь создать хранимую процедуру с определенным «INSERT IF NOT EXSISTS», но я думаю, т хорошо. Кстати, я прочитал эту тему http://bogdan.org.ua/2007/10/18/mysql-insert-if-not-exists-syntax.html и попробовал оба примера, это не сработало. Вот заявление:«INSERT IF NOT EXISTS», ELSE UPDATE некоторые столбцы в MySQL
CREATE DEFINER=`test`@`localhost` PROCEDURE `onPlayerJoin`(
IN uuid CHAR(36),
IN nickname CHAR(16),
IN firstConnection TIMESTAMP,
IN lastConnection TIMESTAMP
)
BEGIN
INSERT IGNORE INTO `test`.`player` (`playerUuid`, `playerNickname`, `playerFirstConnection`, `playerLastConnection`)
VALUES (uuid, nickname, firstConnection, lastConnection);
UPDATE `test`.`player` SET
`playerNickname` = nickname,
`playerLastConnection` = lastConnection
WHERE `playerUuid` = uuid;
END
ЕСЛИ ПК не найден, ВСТАВЬТЕ его. ELSE, ОБНОВЛЕНИЕ некоторых столбцов. (что я могу указать) Однако кажется, что он обновляет каждый столбец, который я хотел бы ограничить определенными столбцами. Вот моя процедура: http://pastebin.com/NfcdU9Rb!
Дополнительный вопрос: безопасен ли он?
SQL-инъекции может возникнуть только из кода приложения, обращающегося код SQL. Таким образом, в контексте вашего вопроса только о MySQL, вопрос «Является ли он безопасным для инъекций?» не может быть дан ответ. – Russ
Благодарим вас за ответ @Russ и ваше редактирование! –