У меня есть оператор SQL для вставки записи в таблицу.Таблица определяется как:
+-------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| title | varchar(255) | NO | | NULL | |
| description | text | NO | | NULL | |
| filename | varchar(255) | NO | | NULL | |
| type | varchar(255) | NO | | NULL | |
| size | int(11) | NO | | NULL | |
+-------------+--------------+------+-----+---------+----------------+
Оператор SQL:
INSERT INTO photos
(title, description, filename, type, size)
VALUES
('Title D', 'Description D', 'Filename_D', 'BMP', '2000');
Меня всегда учили, что если вы не сопоставите тип столбца с типом данных, которые вы пыталисьпри вставке или обновлении SQL выдает ошибку.
К моему удивлению, оператор SQL работал в MySQL и MS Access, хотя столбец «size» определен как целое число, а данные о размере в операторе SQL заключены вкавычки, делающие это строкой ('2000').
Это функция MySQL и MS Access или SQL работает во всех базах данных, совместимых с SQL?