mysql - 当我尝试在 Long 类型的字段上创建主键时出错

标签 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 length

这是什么错误?

最佳答案

您可能需要 bigint 而不是 LONG,它是一种长 text 数据类型。

CREATE TABLE person
(
   id INTEGER,
   r_id BIGINT,
   p_name TEXT,
   p_age INTEGER,
   p_address TEXT,
   p_mobile BIGINT,
   PRIMARY KEY(r_id)
);

参见 MySQL data types

关于mysql - 当我尝试在 Long 类型的字段上创建主键时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17364235/

相关文章:

mysql - 查找介于 start_date 和 end_date 之间的日期

php - 将 SQL 查询 (+JOIN) 转换为 Symfony Propel 查询

sql - 如何选择MAX SQL

javascript - 动态下拉菜单 Node js

php - Android:无法使用 PHP MySQL 上传@http://ramses.freewha.com/登录

mysql - InnoDB 磁盘使用开销

sql - 这个查询该怎么做呢?

mysql - 如何根据id自连接mysql表

c# - 将十进制值保存到数字字段 SQL

php - 我的 SQL 查询有什么问题?