为什么这会给我一个错误?
我没有在网上找到任何将CREATE TABLE与带有WHERE的SELECT语句相结合的优秀示例代码。
CREATE TABLE tmp_year (source CHAR(3),
target CHAR(3),
val FLOAT,
PRIMARY KEY (source, target))
(SELECT source,
target,
val
WHERE date>='2001-01-01'
AND date<='2001-12-12')
FROM db;
错误消息:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE date>='2001-01-01' AND date<='2001-12-12') FROM db' at line 1
答案 0 :(得分:2)
试试我的朋友:
CREATE TABLE tmp_year AS
SELECT * FROM YOURTABLE
WHERE date>='2001-01-01'
AND date<='2001-12-12';
ALTER TABLE tmp_year ADD PRIMARY KEY(source, target);
以下是 SQL Fiddle
中的示例答案 1 :(得分:1)
SQL希望FROM能够紧跟SELECT子句的值,并且在像WHERE这样的条件之前。