| Bug #18482 | mysqldump does not dumps tinytext and mediumtext default | ||
|---|---|---|---|
| Submitted: | 24 Mar 2006 13:01 | Modified: | 27 Mar 2006 20:40 |
| Reporter: | jeka good | Email Updates: | |
| Status: | Not a Bug | Impact on me: | |
| Category: | MySQL Server | Severity: | S2 (Serious) |
| Version: | 5.0.20-BK, 5.0.18 | OS: | Linux (Linux, windows 2003 sp1) |
| Assigned to: | Chad MILLER | CPU Architecture: | Any |
[24 Mar 2006 13:01]
jeka good
[24 Mar 2006 13:30]
Valeriy Kravchuk
Verified just as described on Linux with 5.0.20-BK (ChangeSet@1.2108, 2006-03-23 22:29:53+01:00):
openxs@suse:~/dbs/5.0> bin/mysql -uroot test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.20
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database bugs;
Query OK, 1 row affected (0.02 sec)
mysql> use bugs
Database changed
mysql> create table qqq (
-> c1 tinytext not null default '',
-> c2 varchar(10) not null default '');
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
openxs@suse:~/dbs/5.0> bin/mysqldump -uroot bugs
-- MySQL dump 10.10
--
-- Host: localhost Database: bugs
-- ------------------------------------------------------
-- Server version 5.0.20
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0
*/;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `qqq`
--
DROP TABLE IF EXISTS `qqq`;
CREATE TABLE `qqq` (
`c1` tinytext NOT NULL,
`c2` varchar(10) NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
...
It is a bug, I think.
[27 Mar 2006 20:40]
Chad MILLER
According to our manual, "BLOB and TEXT columns cannot have DEFAULT values." http://dev.mysql.com/doc/refman/5.0/en/blob.html However, this doesn't explain why the engine allowed you to send (what should be) a bad creation statment and yet not complain about it at table-creation time. In any case, when the engine tries to apply a default value when one is omitted in an insertion statement, one gets this message: failed: 1101: BLOB/TEXT column 'c1' can't have a default value This may be an effort to allow one to ALTER the column to any types without losing DEFAULT information if the column passes through a type that doesn't allow defaults.
