我希望使用MySQL在表中使用ENUM MySQL功能。
我已经创建了一个表tbl_test,它以id作为主键,enum_col字段作为ENUM数据类型。
CREATE TABLE tbl_test(
id INT NOT NULL AUTO_INCREMENT,
enum_col ENUM('a','b','c') NOT NULL,
PRIMARY KEY ( id )
);
当我尝试存储单枚举值时,它被插入,但是当我试图存储多枚举值时,它会抛出SQL错误。
错误:
Data truncated for column 'enum_c
我正在试验MySQL枚举数据类型。我有一个表15列,其中7列是ENUM数据类型。没有VARCHAR,最大列型日期时间。因此,我应该在mysql中的65535字节限制之内。即使在InnoDB的1000个字节限制内。
ENUM类型有很多大的字符串可能性(2列在1000 s范围内)。我只是修改了表,将更多的ENUM值添加到表中
ALTER TABLE <tablename> MODIFY <enumCol> ([...1000 values each of max 40 bytes]);
在那之后发现了这个错误-
ERROR 1117 (HY000): Too many co
在MySQL 5.1.73上,我创建了一个包含Enum列的表,如下所示:
create table IF NOT EXISTS rollover_profile
(
rollover_profile_id BIGINT(20) PRIMARY KEY NOT NULL AUTO_INCREMENT,
max_period INT(10) NOT NULL,
percentage INT(10) NOT NULL,
type VARCHAR(10) NOT NULL,
description VARCHAR(1024) NOT NULL,
我想将MySQL数据库转换为PostgreSQL。
在MySQL中,ENUM数据类型默认允许空字段,这似乎不适用于PostgreSQL。因此,我不能用PostgreSQL从VARCHAR转换到ENUM,因为我的数据库中有很多PgSQL不允许的空字段。
我能做什么?允许NULL并将空字段设置为NULL?在创建类型时,在PostgreSQL的ENUM中添加一个空值(类似于ENUM('A','B','C',''))?停止使用这种丑陋和不协调的ENUM数据类型(而不是对varchar使用约束,或者使用另一个表和外键)?
谢谢您:)
use
mysql> desc courses;
+--------------------+---------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------+---------------------------+------+-----+---------+----------------+
| c
我有一个使用MySQL -本机枚举值的MySQL表:
CREATE TABLE users (
id int NOT NULL AUTO_INCREMENT,
status enum('PENDING', 'ACTIVE', 'INACTIVE') NOT NULL
);
我想通过JPA在Spring中访问它,所以我将它建模为一个带有enum属性的实体。
public enum Status {
PENDING,
ACTIVE,
INACTIVE;
}
@Entity
@Table(name = "use
我的数据库中的表test有一个惟一的ENUM列。为了将数据加载到列中,我应该如何格式化.txt文件?
我现在就是这么做的:
text.txt:
0
1
2
2
1
MySQL脚本:
LOAD DATA LOCAL INFILE 'Data/test.txt' INTO TABLE test
描述测试
+-------+-------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------
我在一个MySQL数据库的表中使用了ENUM。如何获取type = a,b,c的所有内容?
简单地说,如果我使用VARCHAR,那么我可以使用:
SELECT * FROM stuff WHERE type IN ("a","b","c")
但是使用ENUM不起作用。
如何获取type = a,b,c的所有内容?
注意: Type用作ENUM,而不是CHAR或VARCHAR。
嗨,大家好,我对mysql很陌生,我在显示我的表数据方面有困难,不知道我做错了什么。
这是我创建表的查询:
CREATE TABLE sales20102017(
date DATE NOT NULL,
address VARCHAR(60) NOT NULL,
postal_code VARCHAR(10) NULL,
county VARCHAR (15) NOT NULL,
price BIGINT UNSIGNED NOT NULL,
not_full_market_price ENUM('Y', 'N') NOT NULL,
vat_exclusive
我尝试将整个表从一个mysql数据库复制到另一个数据库。这几乎适用于
INSERT INTO `new-db`.`table`
SELECT * FROM `old-db`.`table`;
但是,ENUM字段未正确传输-它们始终为空。
但是跑步
INSERT INTO `new-db`.`table` (an_enum_field)
SELECT an_enum_field FROM `old-db`.`table`;
工作正常。
要用第一条语句正确复制ENUM字段,我可以做些什么吗?
日安,
我在数据库中使用phpmyadmin有一个问题,这是previewmysql中的mysql结构:
CREATE TABLE `mydb`.`attendant`
(
`id` INT NOT NULL auto_increment,
`first_name` VARCHAR(20) NOT NULL,
`names` VARCHAR(50) NOT NULL,
`gender` ENUM(0) NOT NULL,
`email` VARC