php – MySQL INSERT或SELECT
发布时间:2020-12-11 23:47:52 所属栏目:MySql教程 来源:网络整理
导读:我有2个表table_a和table_b. CREATE TABLE `table_a` (`ID` int(11) unsigned NOT NULL AUTO_INCREMENT,`val` varchar(64) NOT NULL,PRIMARY KEY (`ID`),UNIQUE KEY `val` (`val`)) ENGINE=MyISAM DEFAULT CHARSET=latin1CREATE TABLE `table_b` ( `ref_a` i
我有2个表table_a和table_b.
我想MASS INSERT到表B中,ref_a值指的是表A的ID. 这就是我想要完成的事情:
如果该值不存在,则插入该值
现在我得到了ID(假设它是“1”),我想插入table_b:
当我想批量进行时,问题出现了.如果我在SELECTS和INSERTS之间交替而不是进行批量插入,那么我的表现是否会下降,然后批量选择? 我可以:
但是,如果缺少值并且我需要事先插入,该怎么办? 我不能BEGIN TRANSACTION和COMMIT,因为我需要在插入后检索表A的ID. 我也可以这样做:
但我正在寻找另一种方式. 什么是最有效的方式来实现我想要做的事情? 最佳答案 首先确保table_a中的值列上有UNIQUE INDEX,然后执行批量INSERT IGNORE
现在您确定所有值都在table_a中,并且您可以安全地使用批量table_b插入方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |