1.insert ignore into terms_in_homepage(term_name) values(?) on DUPLICATE KEY UPDATE term_id=LAST_INSERT_ID(term_id);
说明:
ignore 只关注主键对应记录是不存在,无则添加,有则忽略。
ON DUPLICATE KEY UPDATE 在添加时操作,关注非主键列,注意与ignore的区别。有则更新指定列,无则添加。
LAST_INSERT_ID 自动返回最后一个 INSERT 或 UPDATE 操作为 AUTO_INCREMENT 列设置的第一个发生的值.
2.delete student,score from student left join score using(student_id) where student.student_id=13
说明:
using 相當於 "ON"
3.SELECT SQL_CALC_FOUND_ROWS * FROM web_content WHERE id > 100 LIMIT 10;
4.select FOUND_ROWS();
本文介绍了几个实用的SQL技巧,包括如何使用ignore关键字确保只有当记录不存在时才插入数据,利用ON DUPLICATE KEY UPDATE来更新已有记录,使用LAST_INSERT_ID()获取最新插入或更新的ID,通过DELETE与LEFT JOIN结合来删除特定条件下的相关记录,以及如何使用SQL_CALC_FOUND_ROWS与FOUND_ROWS()组合来优化分页查询。

被折叠的 条评论
为什么被折叠?



