mysql> DESCRIBE 入库单表;
+------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| 单号 | text | YES | | NULL | |
| 入库日期 | datetime | YES | | NULL | |
| 品名 | text | YES | | NULL | |
| 供货商编号 | text | YES | | NULL | |
| 颜色 | text | YES | | NULL | |
| 规格 | text | YES | | NULL | |
| 数量 | int(11) | YES | | NULL | |
| 单位 | text | YES | | NULL | |
| 单价 | double | YES | | NULL | |
| 金额 | double | YES | | NULL | |
+------------+----------+------+-----+---------+-------+
10 rows in set (0.01 sec)mysql> DESCRIBE LSB;
+-------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------+------+-----+---------+-------+
| 品名 | text | YES | | NULL | |
| 颜色 | text | YES | | NULL | |
| 规格 | text | YES | | NULL | |
| 单位 | text | YES | | NULL | |
| C | char(255) | NO | PRI | | |
+-------+-----------+------+-----+---------+-------+
5 rows in set (0.01 sec)
帮忙写代码。
要求:
LSB 的前四个字段要这样产生: SELECT DISTINCT 品名,颜色,规格,单位 FROM 入库单表;
LSB 的第五个字段,要用 CONCAT 函数把 LSB 的前四个字段连接起来。连接后的结果作为第五个字段 C 的内容。
还有一个问题,在创建表的时候,如果 C 的类型是 TEXT,则 MySQL 提示 PRIMARY KEY(C) 有错误。怎么回事,好像只能用定长字符串。
+------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| 单号 | text | YES | | NULL | |
| 入库日期 | datetime | YES | | NULL | |
| 品名 | text | YES | | NULL | |
| 供货商编号 | text | YES | | NULL | |
| 颜色 | text | YES | | NULL | |
| 规格 | text | YES | | NULL | |
| 数量 | int(11) | YES | | NULL | |
| 单位 | text | YES | | NULL | |
| 单价 | double | YES | | NULL | |
| 金额 | double | YES | | NULL | |
+------------+----------+------+-----+---------+-------+
10 rows in set (0.01 sec)mysql> DESCRIBE LSB;
+-------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------+------+-----+---------+-------+
| 品名 | text | YES | | NULL | |
| 颜色 | text | YES | | NULL | |
| 规格 | text | YES | | NULL | |
| 单位 | text | YES | | NULL | |
| C | char(255) | NO | PRI | | |
+-------+-----------+------+-----+---------+-------+
5 rows in set (0.01 sec)
帮忙写代码。
要求:
LSB 的前四个字段要这样产生: SELECT DISTINCT 品名,颜色,规格,单位 FROM 入库单表;
LSB 的第五个字段,要用 CONCAT 函数把 LSB 的前四个字段连接起来。连接后的结果作为第五个字段 C 的内容。
还有一个问题,在创建表的时候,如果 C 的类型是 TEXT,则 MySQL 提示 PRIMARY KEY(C) 有错误。怎么回事,好像只能用定长字符串。
from tb
update tt set f5 =concat(col1,col2,col3,col4)