这两位说的都可行呀。
假定你有个字段ID,自增主键,你不管怎么并发,插入库以后是不是都必定有个不同的ID?你插入后直接获取本次插入后返回的这个ID,然后你可以校验了。id<当前插入生成的ID and user=当前插入的use。如果找到,删除,返回错误,否则返回正确。结合12楼的朋友说的,你可以放在事务中,判断重复后,回滚,返回错误代码
你可以试下
我的逻辑也是这样,现在的执行顺序是
1:exits() 第一次前端请求
2: exits() 紧跟第二次请求
3: insert 第一次的
4 insert 第二次的[/quote]
DROP TABLE test
CREATE TABLE test
(
test varchar(10)
)
IF NOT EXISTS(SELECT * FROM test)
BEGIN
INSERT INTO test VALUES('1')
END
IF NOT EXISTS(SELECT * FROM test)
BEGIN
INSERT INTO test VALUES('2')
END
SELECT * FROM test
就算这个代码一起执行 数据库中也是始终为1 2不可能插得进去[/quote]
并没有写sql控制,是用代码写的判断
我的逻辑也是这样,现在的执行顺序是
1:exits() 第一次前端请求
2: exits() 紧跟第二次请求
3: insert 第一次的
4 insert 第二次的[/quote]
DROP TABLE test
CREATE TABLE test
(
test varchar(10)
)
IF NOT EXISTS(SELECT * FROM test)
BEGIN
INSERT INTO test VALUES('1')
END
IF NOT EXISTS(SELECT * FROM test)
BEGIN
INSERT INTO test VALUES('2')
END
SELECT * FROM test
就算这个代码一起执行 数据库中也是始终为1 2不可能插得进去