我想在MySQL数据仓库中处理日期维度。(我是DW世界的新手)
我用谷歌做了一些搜索,看到了很多表结构(大部分) date维度,其中主键是一个简单的UNSIGNED INTEGER。
既然MySQL是3字节而INTEGER是4字节,为什么不使用DATE字段作为主键呢
例如:
CREATE TABLE dimDate
id INTEGER UNSIGNED NOT NULL PRIMARY AUTOI_NCREMENT,
date DATE NOT NULL,
dayOfWeek
...
VS
CREATE TABLE dimDate
date DATE NOT NULL PRIMARY,
da
我的mysql数据库中有很多表:
下面的脚本获取该表并将其转储到我的mssql数据库中。
SELECT * INTO testMySQL.dbo.userDetails
FROM openquery(MYSQL, 'SELECT * FROM test.userDetails')
但是我怎么才能遍历每个表...
我遵循了以下指南:
我可以使用USING子句连接多个表吗?我可以这么做吗?
SELECT * FROM (a, b, c) USING(date)
或者类似的东西,而不是
SELECT * FROM a, b USING(date), c USING(date)
我正在使用MySQL。
编辑
我从答案中看出,我被误解了。第二个示例运行得很好,但是对于许多表来说只会变得非常冗长和冗长。我正在寻找一个更清晰的语法,而不是更复杂的方法来实现这一点。
我从来没有做过这样的PHP/MYSQL技巧来连接多表。请对此领域有经验的人员提供帮助:
$qry=mysql_query("select {$table_prefix}user_cv.*, {$table_prefix}advertising.* from {$table_prefix}user_cv, {$table_prefix}advertising where {$table_prefix}user_cv.publish='yes' and {$table_prefix}advertising.publish='Y'");
mysql查询
有许多表,可能有50多个表是由代码读取和写入的,这有点太难快速理解了。不幸的是,许多表没有时间戳列。当代码每天运行一次时,我想知道它们中的哪一个正在被修改。
所以我尝试了
SELECT update_time FROM information_schema.tables WHERE table_name='tablename'
...which执行了,但返回了Null。是否可以在MySQL服务器上运行一些简单的命令,以便它能够实际开始保存并保存它,以便我可以在几天内检查它?