可能重复:
插入行mysql时如果不存在如何使用
我有问题:
我有一个名为“table”的表,有 4 列:id(int, PK, AI, Unique), col1(varchar), col2(varchar), col3(datetime)
许多用户可以连接到 mysql 服务器并将行插入“表”。问题是 col2 和 col3 不能存在于“表”的其他行中。
我会这样写: IF NOT EXISTS (select * from table where col2='2' and col3='2012-12-12 12:12:12') INSERT INTO table(col1, col2, col3) values(1 ,2,'2012-12-12 12:12:12')
我假设你知道我想要做什么。
我试图在一个语句中执行此操作(以避免 2 个用户同时插入同一行的情况)或在事务中执行此操作。如果我应该在事务中这样做,那么应该是什么类型的隔离?可序列化的隔离会导致锁定表,因此它可以进一步减慢插入过程。请帮帮我。