我有两张桌子。submissions和users.它们是由submissions.user_id = users.id关联的。
users
+----------------+------------------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+------------------------+------+-----+-------------------+-----------------------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| email | varchar(128) | NO | MUL | NULL | |
| hash | varchar(64) | NO | | NULL | |
| salt | varchar(32) | NO | | NULL | |
| username | varchar(23) | NO | | NULL | |
| type | enum('normal','admin') | NO | | normal | |
| about | varchar(255) | NO | | NULL | |
| created | datetime | NO | | NULL | |
| last_login | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| created_ip | int(10) unsigned | NO | | NULL | |
| last_login_ip | int(10) unsigned | NO | | NULL | |
| remember_me | tinyint(3) unsigned | NO | | 0 | |
| avatar | varchar(32) | NO | | NULL | |
| confirmed | tinyint(1) unsigned | NO | | 0 | |
| confirm_code | varchar(64) | NO | | NULL | |
| public_profile | tinyint(1) | NO | | 1 | |
+----------------+------------------------+------+-----+-------------------+-----------------------------+submissions
+-------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| title | varchar(255) | NO | | NULL | |
| slug | varchar(255) | NO | | NULL | |
| description | mediumtext | NO | | NULL | |
| user_id | int(11) | NO | MUL | NULL | |
| created | datetime | NO | | NULL | |
| category | enum('animals-pets','autos-vehicles','careers-work','clothing','computers','cooking-food','deals','education','electronics','entertainment','general-advice','finance','health-fitness','hygiene','home-garden','how-to','misc','self-improvement','sports','traveling') | NO | | NULL | |
| type | enum('tip','request') | NO | | NULL | |
| thumbnail | varchar(64) | NO | | NULL | |
| removed | tinyint(1) unsigned | NO | | 0 | |
| down_votes | int(10) unsigned | NO | | 0 | |
| up_votes | int(10) unsigned | NO | | 0 | |
| score | int(11) | NO | MUL | 0 | |
| keywords | varchar(255) | NO | | NULL | |
| ip | int(10) unsigned | NO | | NULL | |
+-------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+----------------+我试图加入这两个表来查看提交,但是我得到的结果如下所示:
SELECT s.*, u.id, u.username FROM submissions s JOIN users u ON s.user_id = u.id WHERE s.id = 12'
将永远给我:
{ id: 15,
title: 'what the hell!',
slug: 'what-the-hell',
description: 'seriously what the hell node mysql?!',
user_id: 15,
created: Sat Jan 11 2014 11:58:06 GMT-0800 (PST),
category: 'misc',
thumbnail: '',
removed: 0,
down_votes: 0,
up_votes: 0,
score: 0,
keywords: '!',
ip: 127001,
username: 'blahbster'}在获取时,它总是会生成submission.id,即user.id。为什么要覆盖?
发布于 2014-01-12 02:11:58
这是“覆盖”,因为两列具有相同的名称,id,并且无法区分它们。
只需使用:
SELECT s.*, u.username
FROM submissions s JOIN
users u
ON s.user_id = u.id
WHERE s.id = 12;并使用user_id作为用户id,id用于订阅id。
https://stackoverflow.com/questions/21070461
复制相似问题