我正在尝试在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 INT
SET @i = 20
WHILE 0 < @i
BEGIN
INSERT INTO numbers (number)
SELECT number + (SELECT 1 + Max(number) FROM numbers)
FROM numbers
SET @i = @i - 1
END
SELECT * FROM numbers
我得到这个错误:
#1064-您的SQL语法有误;在第3行的“ CONSTRAINT XPKnumbers PRIMARY KEY
CLUSTERED(number))INSERT INTO n”附近检查与您的MySQLhtml" target="_blank">服务器版本相对应的手册以使用正确的语法。
有人对这项工作有任何建议吗?
您会丢失分号,逗号,即使在更正语法之后,每次仅在循环中再插入一行也不是一个好主意。
从http://use-the-index-luke.com/blog/2011-07-30/mysql-row-
generator
删除并使用生成器:
CREATE OR REPLACE VIEW generator_16
AS SELECT 0 n UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL
SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL
SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL
SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL
SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL
SELECT 15;
CREATE OR REPLACE VIEW generator_256
AS SELECT ( ( hi.n << 4 ) | lo.n ) AS n
FROM generator_16 lo, generator_16 hi;
CREATE OR REPLACE VIEW generator_4k
AS SELECT ( ( hi.n << 8 ) | lo.n ) AS n
FROM generator_256 lo, generator_16 hi;
CREATE OR REPLACE VIEW generator_64k
AS SELECT ( ( hi.n << 8 ) | lo.n ) AS n
FROM generator_256 lo, generator_256 hi;
CREATE OR REPLACE VIEW generator_1m
AS SELECT ( ( hi.n << 16 ) | lo.n ) AS n
FROM generator_64k lo, generator_16 hi;
如果出于任何原因您确实需要数字表,请执行以下操作:
INSERT INTO numbers(number)
SELECT n FROM generator_64k WHERE n < 64000
我想知道你能在MySQL中创建一个数组变量吗?我知道你可以创建一个普通变量,比如so
问题内容: 我有一个如下表: 现在我想更改此表以具有新字段,并且该字段必须具有默认值 如下所示: 怎么做? 谢谢你的帮助 问题答案: 根据MySQL 文档(添加了重点),您不能使用默认值的表达式: 10.1.4。数据类型默认值 数据类型规范中的DEFAULT value子句指示列的默认值。除一个例外, 默认值必须为常量; 它不能是函数或表达式 。例如,这意味着您不能将日期列的默认值设置为诸如NOW
问题内容: 您能帮忙解决这个问题吗? 我正在尝试创建然后使用一个名为TIGER的数据库。 如果我在MySQL中创建数据库并且运行完美,我没有问题。 我想做的是从Java创建它。这样,当首次运行代码时,它将在初始启动过程中创建数据库。如果可能的话,我想用一种干净的方法将其装箱。 有人可以告诉我您实际将代码放置在哪里 这是代码 这是创建数据库的代码 在此先感谢,感谢您的帮助。 因为我是一个长期读者但还
主要内容:基本语法,在指定的数据库中创建表在创建数据库之后,接下来就要在数据库中创建数据表。所谓创建数据表,指的是在已经创建的数据库中建立新表。 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。接下来我们介绍一下创建数据表的语法形式。 基本语法 在 MySQL 中,可以使用 CREATE TABLE 语句创建表。其语法格式为: CREATE TABLE <表名> ([表定
我有一个< code>_payments数据库,其中有一个< code>users表,表中有< code>id 、< code >用户名 、< code >密码。密码使用散列盐。我的开发人员不可用,我需要创建一个新用户。为此,我应该运行什么查询?
Servlet controller.java: 执行时,我收到以下信息: myDb是我的数据库。admin、rescue、not null、varchar(750)、rescue是表名、COL的测试值。名称、空值或非空值、数据类型和主键。