[英]How can I create a table as another table, only if the table by the same name doesn't yet exist in a database?
錯誤:第 4 行的語法錯誤
CREATE TABLE `${tempVars("id")}` AS
SELECT 'UNIXTIME', 'TODO', 'IMPORTANCE'
FROM `${tempVars("id")}`
IF NOT EXISTS `${tempVars("id")}`;
錯誤:第 1 行的語法錯誤
IF (EXISTS (SELECT *
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'todolists'
AND TABLE_NAME = `${tempVars("id")}`))
BEGIN
SELECT * FROM `${tempVars("id")}`
END
ELSE
BEGIN
CREATE TABLE `${tempVars("id")}` AS
SELECT UNIXTIME, TODO, IMPORTANCE
FROM `${tempVars("id")}`
END
我已經從現有問題中嘗試了很多東西,但一切似乎都完全出錯了。 完全不知道出了什么問題,並且無法修復,盡管得到了比我更有經驗的人的幫助。
IF NOT EXISTS
選項位於CREATE TABLE
的開頭,而不是末尾。
CREATE TABLE IF NOT EXISTS new_table
SELECT UNIXTIME, TODO, IMPORTANCE
FROM old_table
另請注意,您不應該在SELECT
中的列名周圍加上單引號,這將返回文字字符串,而不是列的內容。 如果您需要引用列名,請使用反引號。 請參閱何時在 MySQL 中使用單引號、雙引號和反引號
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.