Mysql 在创建ID的同一语句中使用自动递增的ID

Mysql 在创建ID的同一语句中使用自动递增的ID,mysql,sql,Mysql,Sql,我不知道如何正确地表达标题。我将尝试详细说明,并使其在这里可以理解 我有一个具有自动递增ID(主键)的表。在同一个表中,我有一个guid列。此guid将成为URL。因此guid通常类似于 我的问题是: 因为ID是在INSERT时自动生成的,并且我没有手动分配它,所以我事先不知道ID将是什么。如果依赖于ID,那么如何在insert语句中分配guid值 我目前的解决方案是用两种说法: INSERT INTO table (ID, guid) VALUES (null, null); 我现在将有一

我不知道如何正确地表达标题。我将尝试详细说明,并使其在这里可以理解

我有一个具有自动递增ID(主键)的表。在同一个表中,我有一个guid列。此guid将成为URL。因此guid通常类似于

我的问题是: 因为ID是在INSERT时自动生成的,并且我没有手动分配它,所以我事先不知道ID将是什么。如果依赖于ID,那么如何在insert语句中分配guid值

我目前的解决方案是用两种说法:

INSERT INTO table (ID, guid) 
VALUES (null, null);
我现在将有一行,看起来像这样:

-------------
| ID | GUID |
-------------
| 1  | null |
-------------
然后我可以在另一个语句中用这样的语句更新这一行

UPDATE  table SET  guid = ID WHERE ID = 1;
(可能不符合语法,但你明白了)

“一次过”有没有办法做到这一点?在哪里可以根据自动递增的ID设置GUID?所以应该是这样的

INSERT INTO table (ID, guid) 
VALUES (null, ID);

我希望我的问题是可以理解的!如果还不清楚,我会澄清。我不知道有什么更好的方法来解释我的问题。

如果PK是自动生成的,那么在insert查询中不需要它

insert into table
(guid)
values
(your guid)

当然,您必须自己生成guid,有很多方法可以做到这一点。

如果id的含义超出了数据库的范围,那么您不应该为此使用自动增量。自动增量对于代理关键点来说很好,但仅此而已。也就是说,如果我们有路径和PK,我们需要GUID做什么?这个表是一个预先制作的wordpress表(wp_posts)。ID被用作每一行的唯一标识符,它还被用作存储在GUID中的URL的一部分。除此之外,ID没有用法或意义。正如您所定义的,
ID
将始终等于
GUID
。因此,
GUID
字段将始终是多余和不必要的。开发一个像
$guid=”这样的路径(假设PHP)不是更好吗http://www.example.com/path/path/“$row['id']
其中
$row['id']
是您查询的结果?