Mysql 在VS Studio中运行join语句时更改id的SQL

Mysql 在VS Studio中运行join语句时更改id的SQL,mysql,sql,Mysql,Sql,我最近开始在Visual Studio环境中使用SQL,我创建了以下两个表并用值填充它们,这些是用于创建表用户和照片的命令: CREATE TABLE users( id INTEGER AUTO_INCREMENT PRIMARY KEY, username VARCHAR(255) UNIQUE NOT NULL, created_at TIMESTAMP DEFAULT NOW() ); CREATE TABLE photos( id INTEGER AU

我最近开始在Visual Studio环境中使用SQL,我创建了以下两个表并用值填充它们,这些是用于创建表用户和照片的命令:

CREATE TABLE users(
    id INTEGER AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(255) UNIQUE NOT NULL,
    created_at TIMESTAMP DEFAULT NOW()
);

CREATE TABLE photos(
    id INTEGER AUTO_INCREMENT PRIMARY KEY,
image_url VARCHAR(255) NOT NULL,
user_id INTEGER NOT NULL,
created_at TIMESTAMP DEFAULT NOW(),
FOREIGN KEY(user_id) REFERENCES users(id)
);
下面是我用来填充表的语句

INSERT INTO users(username) Values
('Colton'),('Ruben');


INSERT INTO photos(image_url,user_id) VALUES
('/alskjd76',1),
('/lkajsd98',2);
现在如果我运行语句

SELECT *
FROM photos
JOIN users;
我得到了桌子:

现在,如果我运行命令:

SELECT *
FROM users
JOIN photos;
我拿到桌子了

以下是用户表和照片表。

现在我的问题是,为什么第二个表中的“id”列更改为4,4,5,5,而users表的实际“id”列只包含值1,2?第一个例子似乎尊重这一点,为什么第二个例子不尊重呢

编辑:在运行命令时,它现在似乎显示以下内容

SELECT *
FROM photos
JOIN users;

当我跑步时:

SELECT *
FROM users
JOIN photos;


编辑:这似乎是正确的,这是正确的,它似乎已经解决了删除和重新创建的表完全。我认为V.S studio可能错误地拍摄了表格,以获得更多id为1-3的当前照片。

通过删除表格并重新创建,问题似乎已经自行解决。visual studio代码似乎将创建表照片解释为上一个表的延续,或者解释为已删除id为1-3的其他照片。

请单独包含“从照片中选择*和从用户中选择*的图像。我无法重现您描述的不一致行为。见@ggordon我已经包括了tables@Shadow它现在似乎提供了1和2,很奇怪。@lambdaepsilon那么你应该删除这个问题。