大家好(请注意,我有类似的主题和不同的问题),
我正在学习 MySQL。我遇到了一些选择题。如果我怀疑答案是什么或不相信它是正确的,我开始搜索 google、stackoverflow 和 mysql 站点。然而,对于一些人来说,我仍然无法确认正确的答案是什么。
问:是真是假?“在 INSERT 语句的 VALUES 子句中指定的值的数量和数据类型必须与 INTO 子句中指定的相应值的数量和数据类型相匹配”。
我认为这是一个有趣的问题,因为如果指定了一个列 VARCHAR 我可以只使用一个 int 来插入它。如果可能的话,我认为 MySQL 会根据您指定的内容进行转换。所以这是错误的。举个例子:
CREATE TABLE a (name VARCHAR(1));
INSERT INTO a (1);
INSERT INTO a (1.1);
反之亦然。创建一个 INT 列。甚至插入一个字符串文字,MySQL 仍然允许它。
如果您对这个问题/答案有任何评论或对我的任何评论,我很高兴听到它!
提前非常感谢!