MySQL查找哪个数据插入哪个位置

MySQL查找哪个数据插入哪个位置

问题描述:

我想知道是否有可能找到受INSERT影响的行和列。MySQL查找哪个数据插入哪个位置

数据从文件中读取,我想避免重复。

如果你不想再次使用相同的数据,你可以看看在你的表中加入Primary Keys

为避免重复,只需添加适当的INDEXUNIQUE条款。

与声明合适的AUTO_INCREMENTcolumn键(谢谢@mvp!)后,您可以通过LAST_INSERT_ID()获得“插入的行ID”最接近的东西。

如果使用INSERT IGNORE语法,数据将自动变为唯一的,即重复行将被自动忽略并且不被插入。您可能还想查看INSERTON DUPLICATE KEY...syntax

至于哪些列被插入的影响,这很简单 - 他们的所有 :-)

+1

真的吗? 'last_insert_id()'只会在主自动增量整数键被定义时才存在 – mvp

+0

对,我把它改写得更好。谢谢! – LSerni

可以使用ServerLog到协议语句,或设置对所有表这将插入协议中trigger关于写入插入的列/原始数据的日志表中的所有插入。

如果您有未知的SQL语句,您将在批处理中优先处理,您可以动态解析您的SQL语句以找出使用哪些列。