我正在插入一个带有char列的行,用于基于(除其他事项外)该行的自动ID的散列。我知道我可以插入它、获取insert_id、计算哈希并更新它。有谁知道在单个查询中执行此操作的方法吗?您在插入时需要行insert_id。那是完全不可能的,还是有类似current_insert_id()...谢谢! 最佳答案 不,MySQL中没有函数可以为您提供current_insert_id()。从MySQL中的AUTO_INCREMENT字段获取生成的ID值的唯一方法是执行INSERT,然后调用last_insert_id()。因此,您可能需要执
我在symfony2中使用doctrine。但是我使用nativemysql查询来插入一些数据。现在我想要数据库中最后插入的id。我的代码如下所示:$stmt=$this->getDoctrine()->getManager()->getConnection()->prepare("INSERTINTOtb_company(v1,v2,v3)values('$v1','$v2','$v3')");$stmt->execute();所以要恢复我尝试的最后插入的id$stmt->insert_id;$id=LAST_INSERT_ID(id)$id=$stmt->getId();还有很多其
在数据库中创建新表时,使用id的重要性是什么。出于我们的目的,我们在每个字段中使用唯一的用户名和电子邮件,以将信息与该唯一的用户名或电子邮件相匹配。那么id有什么用呢?此外,长度/值字段的用途是什么?对此很陌生。非常感谢! 最佳答案 id字段是surrogatekey的示例.将代理键用作数据库中的主键是个好主意,因为它与现实世界中的外部事件完全无关,因此不受其影响。使用naturalkey例如电子邮件地址可能会导致问题,因为如果用户更改他们的电子邮件地址,您的key将不得不更改。这会造成困难,因为它会破坏外键约束。随着时间的推移,它
是否可以创建一个查询来返回ID(自动递增整数)可被4整除的所有行?select*frommydatabasewhereidisdivisbleby4orderbyidasc.例如,我想获取ID为4、8、12等的行。编辑:作为完整性的附加信息,如果我需要第1、5、9行等怎么办? 最佳答案 这里%do如果你的id除以4并且它在没有提醒的情况下给出等于0那么它会给你一个结果。SELECT*FROMtableWHERE(id%4)=0;如果你需要1,5,9那么你需要做id-1%4这意味着你需要4+1=5,8+1=9所以你需要做((id-1)
我正在尝试为伪数组变量创建一个表。看起来像CREATETABLEIFNOTEXISTS`MyArray`.`ArrayTable`(`ID`INTUNSIGNEDNOTNULLCOMMENT'HashvalueofSessionID+ArrayName',`SessionID`INTUNSIGNEDNOTNULL,`ArrayName`CHAR(26)NOTNULLCOMMENT'32digitchar-6digitlongestprocessid(assumtion)',`Index`INTUNSIGNEDNOTNULL,`Value`TEXTNOTNULL,PRIMARYKEY(`
我正在构建一个可供多个用户同时使用的网络应用程序。他们可以同时添加数据。我有一个名为doctor_main的表,如下所示ScreenshotofDBhttp://img687.imageshack.us/img687/7033/testxqz.png一旦添加了关于医生的记录,我希望返回插入记录的id(这是一个自增字段)。我知道我可以使用像LAST_INSERT_ID()和mysql_insert_id这样的方法。但我不知道它是如何表现的。我需要该特定用户插入的记录的确切ID。有时,如果两个用户试图插入一条记录,则不应交换返回的ID。要实现这个,我应该使用什么样的mysql函数?
我有这个查询将数据提交到数据库中:$sql="UPDATEtableSETuser='$user',name='$name'whereid='$id'";id将通过urlEXlocalhost/index.php?id=123$id=$_GET['id']查询将无法正常工作;数据不会更新。如果我写:$sql="UPDATEtableSETuser='$user',name='$name'whereid='123'";它工作正常。如果我回显ID,它将显示正确的结果,123。问题出在哪里? 最佳答案 以获取错误消息和错误查询的方式运行所
我有一个简单的表,包含一个具有自动增量索引的主键。当我使用mysqli进行插入时,是否有机会知道AutoIncrement列的最后插入值?注意:可能有多个人同时尝试插入 最佳答案 您可以只使用:mysqli_insert_id($con) 关于PHP/mysqli,如何知道新插入的ID,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10720000/
我设计了我的数据库,并使用varchar来创建唯一的名称。我做了一个产品表,每个产品都有一个产品代码,这个代码是唯一的,不能重复,主要是我在父表中的主键。这个想法是,例如我有一根蜡烛,蜡烛有不同的颜色,所以是不同的产品,我可以通过产品代码区分产品名称。我没有使用或命名一个表作为可索引的id,它是int类型的,并且在插入新项目时自动递增。我只是使用唯一代码作为外键上其他表的索引器。我不知道这是否是个好主意,我是PHPMySQL的新手,在将值插入不同的表时遇到了一些问题,所以我使用产品代码将它们链接起来。现在我只知道mysqli_insert_id很久以前就可以解决我的问题的东西。那么我可
我有两个表:listings(item_id,...)images(item_id,...)两个表中的item_id值相同-但我从“listings”表中删除了列表,但没有删除“images”表中的相应行。所以-如果IMAGES中的item_id与我的主“listings”表中任何更新的item_id值都不对应,我想删除第二个“images”表中的所有行。如何删除“images”表中所有未被“listings”引用的记录?我一直在试验SQL脚本和这样的子查询:DELETEFROMimagesWHEREitem_idIN(SELECTitem_idFROMimagesEXCEPTSELE