Mysql 尝试在类型为Long的字段上创建主键时出错
尝试使用以下Mysql 尝试在类型为Long的字段上创建主键时出错,mysql,sql,Mysql,Sql,尝试使用以下SQL创建表时: CREATE TABLE person(id INTEGER,r_id LONG,p_name TEXT,p_age INTEGER, p_address TEXT,p_mobile LONG,PRIMARY KEY(r_id)); 我得到一个错误: Error Code: 1170 BLOB/TEXT column 'r_id' used in key specification without a key len
SQL
创建表时:
CREATE TABLE person(id INTEGER,r_id LONG,p_name TEXT,p_age INTEGER,
p_address TEXT,p_mobile LONG,PRIMARY KEY(r_id));
我得到一个错误:
Error Code: 1170
BLOB/TEXT column 'r_id' used in key specification without a key length
这是什么错误 您可能想要
bigint
而不是LONG
,后者是一种LONG文本数据类型
CREATE TABLE person
(
id INTEGER,
r_id BIGINT,
p_name TEXT,
p_age INTEGER,
p_address TEXT,
p_mobile BIGINT,
PRIMARY KEY(r_id)
);
请参见您可能想要
bigint
而不是LONG
,后者是一种长文本数据类型
CREATE TABLE person
(
id INTEGER,
r_id BIGINT,
p_name TEXT,
p_age INTEGER,
p_address TEXT,
p_mobile BIGINT,
PRIMARY KEY(r_id)
);
请参见java中的
bigint
对应的是什么?它不长。我用一个错误测试了它,它应该与long
一起工作。看见你在用什么接头?是的,好的。在java中,bigint
对应的是什么?它不长。我用一个错误测试了它,它应该与long
一起工作。看见你在用什么接头?是的,好的。这是一个与你的问题无关的错误,但你可能想重新考虑你存储一个人年龄的决定。它会随着时间的推移而改变。这与你的问题无关,但你可能想重新考虑你存储一个人年龄的决定。它随时间而变化。