我想知道a。*,c.name,... a.access等意味着什么。换句话说,当我在点和点的功能之前添加一个字母时,我到底指的是什么。
以下是我发现此事件的代码示例:
$query = "SELECT a.*, c.name as categoryname,c.id as categoryid, ".
"c.alias as categoryalias, c.params as categoryparams".
" FROM #__k2_items as a".
" LEFT JOIN #__k2_categories c ON c.id = a.catid";
$query .= " WHERE a.published = 1"
." AND a.access <= {$aid}"
." AND a.trash = 0"
." AND c.published = 1"
." AND c.access <= {$aid}"
." AND c.trash = 0"
;
答案 0 :(得分:7)
如果查看FROM
子句,您会看到:
FROM #__k2_items as a
在LEFT JOIN
子句中,您会看到:
LEFT JOIN #__k2_categories c ON c.id = a.catid
别名 #__k2_items
表(无论它真正被称为)表分别为a
和#__k2_categories
到c
。在这种情况下,它只是为了节省输入并提高查询的可读性,实际上。
dot将列名与表名相关联,以便MySQL知道要查找哪些表,以防查询中涉及多个表中的同名列。也就是说,它解决了列歧义。
答案 1 :(得分:3)
a.Something
表示表Something
中的列a
。在您的语句中,您在表上创建了别名:
FROM #__k2_items as a
LEFT JOIN #__k2_categories c
#__k2_items
变为a
的别名,#__k2_categories
变为c
的别名。
因此,SELECT a.*, c.name as categoryname,c.id as categoryid, c.alias as categoryalias, c.params as categoryparams
将从#__k2_items
中选择所有字段,从id
中选择字段alias
,params
和#__k2_categories
。
希望有所帮助。
答案 2 :(得分:1)
它们是表名。所以你也匹配表名:a是所有名称都匹配#__ k2_items
的表答案 3 :(得分:0)
点之前的单词是表名,后面的单词是列名。在此示例中,a
转换为#__k2_items
,c
转换为#__k2_categories
。这用于更短且更易读的SQL。
答案 4 :(得分:0)
您正在对表/视图进行别名处理。 “FROM #__ k2_items as”表示#__ k2_items将被称为“a”别名,因此您不必使用长表名。
此:
SELECT a.*, c.name as categoryname,c.id as categoryid, ...
与此相同:
SELECT #__k2_items.*, #__k2_categories.name as categoryname, #__k2_categories.id as categoryid, ...
答案 5 :(得分:0)
基本上,正如其他人已经说过的那样:
答案 6 :(得分:-2)
如何将记录插入表#__ k2_items:
$db = &JFactory::getDBO();
$query = "INSERT INTO jos_k2_items (`title`, `alias`, `catid`, `published`,
`introtext`, `fulltext`, `video`, `gallery`, `extra_fields`,
`extra_fields_search`, `created`, `created_by`, `created_by_alias`,
`checked_out`, `checked_out_time`, `modified`, `modified_by`,
`publish_up`, `publish_down`, `trash`, `access`, `ordering`, `featured`,
`featured_ordering`, `image_caption`, `image_credits`, `video_caption`,
`video_credits`, `hits`, `params`, `metadesc`, `metadata`, `metakey`,
`plugins`)
VALUES
('".$title."', '".$title."', ".$catid.", 0, '<p>".$introtext."</p>',
'', NULL, NULL, '".$extra_fields."', 'extra_fields_search', now(), 62,
'', 0, '0000-00-00 00:00:00', '', 62, '', '0000-00-00 00:00:00', 0, 0,
5, 0, 0, '', '', '', '', 0, '', '', 'robots=\nauthor=', '', '')
";
$db->setQuery($query);
$db->query();