第一列的值在sql中没有正确显示



当我对我的表运行Select *查询时,OrderID中的值没有显示出来。我怀疑这与描述列有关,这是我表中的最后一列。当我省略该列时,OrderID中的值就出现了。我确实需要将VARCHAR从50个字符更新到100个字符,因为在将csv文件导入数据库时收到了截断的错误消息。我包含了for的语法审查。

describe Orders;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| OrderID     | int(11)     | NO   | PRI | NULL    |       |
| CustomerID  | int(11)     | YES  | MUL | NULL    |       |
| SKU         | varchar(20) | YES  |     | NULL    |       |
| Description | varchar(50) | YES  |     | NULL    |       |
mysql> select * from Orders limit 50;
+---------+------------+------------+----------------------------------------------------+
| OrderID | CustomerID | SKU        | Description                                        |
+---------+------------+------------+----------------------------------------------------+
|    76368 | BAS-08-1 C | Basic Switch  10/100/1000 BaseT 8 port
|    62494 | BAS-48-1 C | Basic Switch 10/100/1000 BaseT 48 port
|   98077 | ENT-48-10F | Enterprise Switch 10GigE SFP+ 48 port
|    85882 | ENT-48-40F | Enterprise Switch 40GigE SFP+ 48 port 
|    59384 | BAS-48-1 C | Basic Switch 10/100/1000 BaseT 48 port
|   96361 | ENT-48-10F | Enterprise Switch 10GigE SFP+ 48 port
|      15 |      67424 | ADV-48-10F | Advanced Switch 10 GigE Copper/Fiber 44 port coppe |
|   93634 | ENT-24-10F | Enterprise Switch 10GigE SFP+ 24 Port
|    62756 | ENT-24-40F | Enterprise Switch 40GigE SFP+ 24 port 
|    99453 | BAS-48-1 C | Basic Switch 10/100/1000 BaseT 48 port
|   98965 | ENT-48-10F | Enterprise Switch 10GigE SFP+ 48 port
|      33 |      87899 | ADV-48-10F | Advanced Switch 10 GigE Copper/Fiber 44 port coppe 
mysql> SELECT OrderID, CustomerID, SKU FROM Orders limit 10;
+---------+------------+------------+
| OrderID | CustomerID | SKU        |
+---------+------------+------------+
|       0 |      76368 | BAS-08-1 C |
|       2 |      62494 | BAS-48-1 C |
|       6 |      98077 | ENT-48-10F |
|       8 |      85882 | ENT-48-40F |
|      10 |      59384 | BAS-48-1 C |
|      14 |      96361 | ENT-48-10F |
|      15 |      67424 | ADV-48-10F |

description是在某个Windows应用程序上生成的,并且在末尾有回车(CR -r)

在非windows应用程序中显示时,CR返回到行首,删除一些内容。

注意其中两行是如何正确显示OrderId的。在这些情况下,description似乎被截断了。那就是CR被剪掉了。

What to do…

  • 直面问题
  • 使用不同的方式显示结果
  • 在将任何字符串列存储到表中之前修剪它们。(有很多可能的"修剪"方法;需要知道数据来自哪里以及INSERTs是如何执行的。)
  • 代替SELECT * ...,拼写出列:SELECT OrderId, CustomerId, SKU, TRIM(description) ...(我不确定这是否会起作用)

相关内容

  • 没有找到相关文章

最新更新