|
|
1
4
PHP有
|
|
|
2
3
大多数数据库支持UUID/GUID键。使用后端(甚至ActionScript)生成它,并在数据库中使用。它不是自然密钥,但即使在服务器场中,它也非常适合唯一性。 |
|
|
3
2
您可以在同一事务中执行插入和后续选择操作。 您还可以根据您的数据库访问设施。 |
|
|
4
1
如果您的数据库代码返回最后插入行的Id,这肯定会导致问题。 如果你使用的是SQL server,你可以使用:
要重新选择正确的Id,请访问 MSDN article . 如果你能提供更多关于如何插入数据库以及使用什么技术的信息,那将很有帮助 |
|
|
5
1
您需要一种原子方法来为插入内容获取唯一的id。经典的方法是使用数据库序列,在数据库中查询下一个唯一编号,然后在插入时使用该编号作为主键,或者(如果您使用的MySQL在插入时生成唯一编号)将插入和选择组合到一个原子语句中。 |
|
|
6
0
这在一定程度上取决于您使用的数据库。 例如,在SQL Server中,您有几个选项。您可以使用SCOPE-IDENTITY()来检索在当前作用域中创建的最后一个标识值。 例如:选择@NEWID=SCOPE_IDENTITY() 本文给出了SQL Server的一些示例: |
|
|
7
0
使用事务——我个人不会用flash写(但这是我个人的想法)。不幸的是,我没有在flash中做过这样的事情——所以我不知道该语言是否支持事务——你能做的就是在数据库上使用事务。我的意思是,对于你建立的每个连接——你打开一个事务,在这个事务中只有一个用户——所以你有正确的id可以显示——但如果你使用自动递增的数字作为id,你仍然会遇到同样的问题——因为事务可以并发运行。我希望这能有所帮助;) |
|
|
8
0
确保将INSERT和SELECT语句放入 单一查询 插入数据并返回ID。 重要的是不要使用两个单独的查询来检索ID,因为一旦第一个插入完成,另一个用户就可以( 最终会 )在获得第一条记录的ID之前插入另一条记录。 如果您使用单独的交易,您将 最后 有以下情况:
如上述帖子所述,检索插入ID的确切语法是特定于数据库的。 |
|
|
9
0
首先,你正在使用PHP和MySQL。ID列通常应定义为:
使用id作为名称是自我记录的。一个4字节的整数可能有点过头了,尤其是因为它是无符号的,但空间很便宜,而且你不太可能用完id。 我还建议尽可能使用InnoDB引擎。外键和数据完整性是美妙的东西。 你的脚本应该执行mysql_connect(),这意味着每个用户都将获得自己的数据库连接,因为每个用户的会话都是该脚本的单独实例。插入后,您可以使用mysql_insert_id()来获取为插入生成的id,正如前面的海报所指出的那样。 |
|
|
10
0
|
|
|
11
-1
您可以将id与Users相关联,以便表中的主键是复合的(生成的唯一id,用户id)。 |
|
|
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 1 年前 |
|
|
H3007 · 并发运行python子进程似乎不是并发的 1 年前 |
|
|
The Oddler · TVar会阻止读取直到更改吗? 1 年前 |
|
|
Wang Tuma · 使用信号量的c++并发问题:按顺序打印 2 年前 |
|
|
Marcel Batista · 在不同线程中更新密钥时的字典线程安全 2 年前 |
|
|
rico · 当volatile关键字真的是必要的? 2 年前 |