我试图从查询中获取最后 3 行,但我一直收到此错误:
SQLSTATE[42S21]: 列已存在: 1060 重复的列名 'id'
拜托,我做错了什么?
$sql = "SELECT * FROM (SELECT i.*, m.*, p.* FROM message i JOIN
members m ON m.id = i.sender_id JOIN profile_photos p
ON p.member_id = m.id WHERE (receiver_id = :receive
AND sender_id = :sent OR receiver_id = :sent AND sender_id = :receive)
ORDER BY date DESC LIMIT 3) t ORDER BY date ASC";
最佳答案
您可能已经在多个表中拥有 ID
列,并且选择语句 SELECT i.*, m.*, p.*
将它们全部列出。
要么选择你想要的特定列
SELECT i.id, i.col1, m.col2, p.col3 ...
或者,使用像这样的列别名
SELECT i.id as IID, m.*, p.id as PID
关于php - 从 mysql 查询中获取最后 3 行时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31586575/