2010-03-03 47 views
2

我还是新来实现在我的db_design连接,我不知道,如果在所有这些SQL是有效的。这个SQL有效吗?

"SELECT * FROM notes JOIN small_note ON notes_id = '$id' AND authname = '$author' AND bookname = '$book' AND user = '$username'" 

有点更容易阅读这样的:

"SELECT * FROM notes 
    JOIN small_note ON notes_id = '$id' 
    AND authname = '$author' 
    AND bookname = '$book' 
    AND user = '$username'"; 
+0

你可以显示你的这两个表的数据库结构? – antyrat 2010-03-03 15:10:45

回答

0

我认为你需要用WHERE更换你的第一个AND

7

不,它不是。

您需要指定两个表的连接列,并且您需要确保使用正确的WHERE子句(在查询中缺少该子句)。

这可能更适合:

SELECT * FROM notes n 
JOIN small_note sn 
    ON n.notes_id = sn.notes_id 
WHERE notes_id = '$id' 
    AND authname = '$author' 
    AND bookname = '$book' 
    AND user = '$username' 
+0

另外,你不应该使用select *,特别是当你有一个连接,因为它浪费资源。 – HLGEM 2010-03-03 15:25:06

0

不,你的$ id应该是保存在参照其他表的列名。这不是一个变量,这是一个列名