我正在嘗試將資料復制online_class:class_category
到categories:uuid,title
表:online_class
... | 類別 | ... |
---|---|---|
... | 類別 1 | ... |
... | 類別 2 | ... |
... | ... | ... |
表:類別
用戶名 | 標題 | ... |
---|---|---|
... | ... | ... |
INSERT INTO `categories` (`uuid`, `title`)
SELECT
(SELECT UUID()) AS `uuid`,
DISTINCT(`class_category`) AS `title`
FROM `online_class`
收到此錯誤
Error Code: 1064
You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax
to use near 'DISTINCT(`class_category`) as `title`
FROM `online_class`' at line 4
這個查詢有什么問題
uj5u.com熱心網友回復:
我找到了另一種方法來做到這一點。
INSERT INTO `categories` (`uuid`, `title`)
SELECT UUID(), `class_category` FROM `online_class`
GROUP BY `class_category`
uj5u.com熱心網友回復:
嘗試將 DISTINCT with field 放在 SELECT 后的第一個位置,例如:
INSERT INTO `categories` (`title`, `uuid`)
SELECT
DISTINCT(`class_category`) AS `title`,
(SELECT UUID()) AS `uuid`
FROM `online_class`
該檔案顯示了語法, DISTINCT 跟隨 SELECT :
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr] ...
[into_option]
[FROM table_references
[PARTITION partition_list]]
[WHERE where_condition] .....
參考:https : //dev.mysql.com/doc/refman/8.0/en/select.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/318724.html
標籤:mysql