![]() |
1
96
你可以做到
|
![]() |
2
16
如果您刚刚在customers表中插入了一条记录,并且需要最近填充的id字段的值,那么可以使用scope_identity函数。只有当插入发生在与调用scope_标识相同的范围内时,这才有用。
这可能对你有用,也可能不有用,但这是一个值得注意的好技巧。它还可以与自动生成的列一起使用。 |
![]() |
3
10
然后拿到身份证。 |
![]() |
4
8
|
![]() |
5
8
为了随时得到它,你可以
但是,在添加它的过程中,也可以使用
|
![]() |
6
7
如果你说的是SQL女士,这里是最有效的方法。这将基于标识的列从表中检索当前标识种子。
使用
|
![]() |
7
6
|
![]() |
8
4
如果您正在使用
假设您使用的是MySQL: http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html
Postgres通过
注意使用
|
![]() |
9
2
如果您不使用自动递增字段,则可以通过如下方式获得类似的结果:
这将确保在提取最大ID和插入新记录之间,没有可能由其他人插入表而导致的竞争条件。 这是使用标准的SQL,毫无疑问,用特定的DBMS来实现它有更好的方法,但是它们不一定是可移植的(我们在车间里非常重视)。 |
![]() |
10
2
也可以使用关系代数。这个过程有点冗长,但这里只是为了了解max()的工作原理:
E: =
身份证件
(表名)
你的答案是: 表e1
基本上你要做的是减去一组有序关系(a,b),其中a
有关关系代数符号,请参见: Relational algebra From Wikipedia |
![]() |
11
0
取决于您使用的是什么SQL实现。例如,mysql和sqlite都有获取最后一个insert id的方法。事实上,如果您使用的是php,甚至有一个漂亮的函数专门用于mysql_insert_id()。 您可能应该使用这个MySQL特性,而不是只查看所有行以获得最大的插入ID。如果您的表变大了,这可能会变得非常低效。 |
![]() |
12
0
如果您只想选择
如果要选择整行,请使用如下查询:
这里我们在FROM子句中编写一个查询,这通常非常有用。 |
![]() |
13
-1
那会给你22号身份证 |
![]() |
14
-1
在PHP中:
因此
|
![]() |
hello_programmers · Mysql从其他表输出一列 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
|
Kugelfisch · 用php为数据库加密数据 1 年前 |