亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在MySQL中創建“數字表”

在MySQL中創建“數字表”

慕容森 2019-09-03 19:32:05
我正在嘗試在MySQL中生成一個連續數字的大表。我只想要2列; 主鍵和數字列,范圍為0-X,其中X非常大。約。64,000行應該這樣做。我試過這段代碼沒有成功:CREATE TABLE numbers (   number           INT         NOT NULL   CONSTRAINT XPKnumbers      PRIMARY KEY CLUSTERED (number)    )INSERT INTO numbers (number) VALUES (0)DECLARE @i          INTSET @i = 20WHILE 0 < @i   BEGIN      INSERT INTO numbers (number)         SELECT number + (SELECT 1 + Max(number) FROM numbers)            FROM numbers      SET @i = @i - 1   ENDSELECT * FROM numbers我收到此錯誤:#1064 - 您的SQL語法有錯誤; 查看與您的MySQL服務器版本對應的手冊,以便在'CONSTRAINT XPKnumbers PRIMARY KEY CLUSTERED(數字)附近使用正確的語法。在第3行插入n'有人建議讓這項工作嗎?
查看完整描述

3 回答

?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

您在列和約束聲明之間缺少逗號:


CREATE TABLE numbers (

   number           INT         NOT NULL,

   CONSTRAINT XPKnumbers

      PRIMARY KEY CLUSTERED (number)

    )


查看完整回答
反對 回復 2019-09-03
?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

從MySQL 8.0開始,您可以使用RECURSIVE CTE生成計數表:


SET @@cte_max_recursion_depth  = 5000;

WITH RECURSIVE cte AS

(

   SELECT 1 AS i

   UNION ALL

   SELECT i+1

   FROM cte

   WHERE i < 3000

)

SELECT *

FROM cte;


查看完整回答
反對 回復 2019-09-03
  • 3 回答
  • 0 關注
  • 731 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號