使用 MySQL 时:数字需要加引号吗?
在 MySQL 中,一般不需要给数字加引号。数据库会根据需要自动转换数据类型。
说明:
考虑以下 SQL 语句:
CREATE DATABASE testdb CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; USE testdb; CREATE TABLE test (id INT, str VARCHAR(100)) TYPE=innodb CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; INSERT INTO test VALUES (9, 'some string');
如果执行这些语句,MySQL会正确创建数据库和表。
为什么不需要数字引用:
选择或插入数据时,您可以使用带引号或不带引号的数字。例如:
SELECT * FROM test WHERE id = '9'; INSERT INTO test VALUES ('11', 'some string');
这些示例之所以有效,是因为 MySQL 会自动将数字的字符串表示形式转换为其等效的数字。
所有数据类型都可以作为字符串插入吗?
虽然 MySQL 可以自动将字符串转换为数字,但它并不支持所有数据类型的这种行为。例如,您不能将字符串插入 DATE 列。
跨 RDBMS 兼容性:
自动从字符串转换数字的行为特定于 MySQL。其他 RDBMS 可能需要显式类型转换,或者可能完全不支持转换。
以上是MySQL 查询中应该引用数字吗?的详细内容。更多信息请关注PHP中文网其他相关文章!