我正在尝试在执行功能之前检查数据库中是否存在某些数据,此刻我的代码看起来像这样。我似乎无法弄清楚。
答案 0 :(得分:1)
您可能想知道的一个选项是“ upsert”:插入新行(该列不存在);否则,更新现有行:
示例:
SET @id = 1,
@title = 'In Search of Lost Time',
@author = 'Marcel Proust',
@year_published = 1913;
INSERT INTO books
(id, title, author, year_published)
VALUES
(@id, @title, @author, @year_published)
ON DUPLICATE KEY UPDATE
title = @title,
author = @author,
year_published = @year_published;
另一个警告,因为您要针对PHP(可能是面向互联网)应用程序更新数据库:始终请使用准备好的语句(而不是原始SQL“插入”或“更新”):
这将有助于减轻SQL注入攻击。