Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL自动增量ID_Php_Sql_Tags - Fatal编程技术网

Php SQL自动增量ID

Php SQL自动增量ID,php,sql,tags,Php,Sql,Tags,我有一个带有自动递增字段的SQL表。我知道有人问过如何在插入后检索“最后一个条目”的ID,我知道怎么做。我要做的是将自动生成的字段复制到同一表格的第二列中-如何修改插入代码以执行此操作: mysql_query("INSERT INTO `tags` (`tid`,`tagid`,`tagname`) VALUES('','INSERTED.ID','{$tagname}')"); 我想这样做的原因是因为我想使两行彼此相等。也就是说,如果两个不同的标签(具有不同的唯一ID)具有相同的tagid

我有一个带有自动递增字段的SQL表。我知道有人问过如何在插入后检索“最后一个条目”的ID,我知道怎么做。我要做的是将自动生成的字段复制到同一表格的第二列中-如何修改插入代码以执行此操作:

mysql_query("INSERT INTO `tags` (`tid`,`tagid`,`tagname`) VALUES('','INSERTED.ID','{$tagname}')");
我想这样做的原因是因为我想使两行彼此相等。也就是说,如果两个不同的标签(具有不同的唯一ID)具有相同的tagid,那么我可以在其他地方使用“tagid”引用作为唯一标识符,并循环使用它们。我还可以保留哪个标记是父标记的知识,因为它将具有与“tagid”相同的“tid”

我有一个标记事件的系统;但有时我会忘记拼写标签。。。因此,我不想纠正所有的错误,而是希望通过允许拼写错误标记被连接起来,并以与正确标记相同的方式处理,从而使我的系统能够防止错误

非常感谢您的帮助,即使这意味着要以完全不同的方式进行


谢谢,

您必须更改表格以将字段设置为自动递增。然后我相信当你插入任何东西时,它会增加。还有一句话叫重复。。。http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

您可以存储以前的id,然后在查询字符串中使用它

$previous_id = mysql_insert_id();

mysql_query("INSERT INTO `tags` (`tid`,`tagid`,`tagname`) VALUES('','$previous_id','{$tagname}')");
2种选择:

1) 您可以使用mysql函数,但在第二个查询中,不是在同一个查询中

SELECT LAST_INSERT_ID();
2) 在表中定义一个insert,然后在插入时,触发器“触发”并在触发器中执行操作

 CREATE TRIGGER tag_tid BEFORE INSERT ON tags
 FOR EACH ROW NEW.tid = NEW.id;

注意:简短的creator,请参阅链接中的详细信息。

因此我的a列-TID是一个自动递增字段和主键。我只能指定一个主键,所以我要做的是在“tagid”字段中重复主键。。。我现在正在读重复的部分!不能让主键重复。这是使每一行唯一的原因,sql不会接受它。如果需要,可以创建一个不同的字段,使其不是主键。那你就可以有复本了。还有一些东西叫做聚合函数。可能对您有帮助的是Max(),它将获得某列的最大值。您可能会将其存储在变量中,并在查询中使用它。这是你的电话号码linkhttp://www.mysqltutorial.org/mysql-aggregate-functions.aspxInteresting 主意大多数情况下,这是一个单独的查询,所以我不必循环并创建一个过去的id来捕获。。。mysql\u insert\u id是否始终与下一个自动增量值相同?:)很不错的。我试试扳机。谢谢你的帮助-我决定做两个单独的查询,以防我被隐藏在代码外的触发器弄糊涂。这是一个反模式。我不推荐。