Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql VALUES子句中的数据类型是否可以与列数据类型不同?_Mysql_Sqldatatypes - Fatal编程技术网

mysql VALUES子句中的数据类型是否可以与列数据类型不同?

mysql VALUES子句中的数据类型是否可以与列数据类型不同?,mysql,sqldatatypes,Mysql,Sqldatatypes,大家好(请注意,我有不同问题的相似主题) 我正在学习MySQL。我遇到了一些选择题。 如果我怀疑答案是否正确,我就开始搜索谷歌、stackoverflow和mysql网站。 然而,对于一些人来说,我仍然无法确认正确答案是什么 问题: 对还是错? “INSERT语句的values子句中指定的值的数量和数据类型必须与INTO子句中指定的相应值的数量和数据类型相匹配” 我认为这是一个有趣的问题,因为如果一个列被指定为VARCHAR,我就可以使用int插入其中。 如果可能的话,我认为MySQL会强制转换

大家好(请注意,我有不同问题的相似主题)

我正在学习MySQL。我遇到了一些选择题。 如果我怀疑答案是否正确,我就开始搜索谷歌、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仍然允许这样做

如果你对这个问题/答案或我的任何评论有任何评论,我很高兴听到


提前多谢

正确的答案实际上取决于SQL模式,因为在其他模式下,如果数据类型错误,您将收到错误,而MySQL将尽其所能(例如,如果您试图在int列中插入float,将截断小数点后的所有内容)以执行查询,并且只会生成有关其执行的隐式强制转换的警告