MySQL错误1406(22001):数据对列太长
考虑表标记:MySQL错误1406(22001):数据对列太长,mysql,sql,insert,sql-insert,Mysql,Sql,Insert,Sql Insert,考虑表标记: mysql> SELECT * FROM marks; +--------+------------+-----------------------+ | name | percentage | email | +--------+------------+-----------------------+ | Bipin | 84% | bipin_p@gmail.com | | Deepak | 78%
mysql> SELECT * FROM marks;
+--------+------------+-----------------------+
| name | percentage | email |
+--------+------------+-----------------------+
| Bipin | 84% | bipin_p@gmail.com |
| Deepak | 78% | cool_deepak@gmail.com |
| Rohith | 82% | rohith_s@gmail.com |
| Sujit | 94% | sujit_jos@gmail.com |
+--------+------------+-----------------------+
当我进行以下查询以向表中插入值时,导致了一个错误:
mysql> INSERT INTO marks VALUES('&name','&percentage','&email');
ERROR 1406 (22001): Data too long for column 'percentage' at row 1
这是一个基于另一种在SQL中使用('&')插入值的方法的信息的实验
你能具体说明出了什么问题吗?
根据博客的说法,只需按ENTER键即可在查询后插入值
所需输出:
Enter value for name: John
Enter value for percentage: 76%
Enter value for email: john_doe@gmail.com
在MySQL中,会话变量的前缀是
@
,它们不会在引号中展开。因此,它应该是:
mysql> SET @name = 'John', @percentage = '76%', @email = 'john_doe@gmail.com';
mysql> INSERT INTO marks VALUES(@name,@percentage,@email);
Oracle中没有自动提示变量,您必须手动设置。MySQL不支持Oracle的这一功能。@GMB,我对Oracle一无所知。谢谢你分享这些信息。所以我只想知道MySQL中存在这样一个功能。@Biping:据我所知,MySQL中没有命令提示符。该代码试图将文本字符串
&percentage
放入表中。不,MySQL没有。