1

MYSQL から SQL SERVER への移行を行っています。私のテーブルの 1 つが次の理由で移行されませんでした

 CREATE TABLE `user_tb` (`user_id` int(11) NOT NULL AUTO_INCREMENT, `username`    
 varchar(30) NOT NULL, `password` text NOT NULL,  `salt_id` varchar(20) NOT NULL,
 `emailid` varchar(50) NOT NULL, `gender` enum('male','female') DEFAULT NULL,  
 `country` int(5) DEFAULT NULL, `pincode` int(8) DEFAULT '0', `dob` date NOT NULL   
 DEFAULT '0000-00-00',

列 'dob' は DBNull.Value を許可しません。

SQL SERVER Migration Assistant (SSMA) を使用しています。提案してください..

4

1 に答える 1

1
int(8) DEFAULT '0', dob date NOT NULL DEFAULT '1500-01-01', >> YYYY-MM-DD

デフォルト値 0 を書く必要はありませんが、1 にする必要があります。dob date NOT NULLこれは、NULL 値を持つことができないことを意味しますが、デフォルト値の原因は 0 であり、 になる0000-00-00ため、NULL のように、それをに変更しようとしました1

もちろん、日付の値には、日としての 00 と月としての 00 はありません。また、年として不可能な 0000 もありません。したがって、年をデータベースの最小年としてデフォルト値に設定してみてください。2000のようなものか、あなたが好きなもの

于 2013-04-04T08:31:32.817 に答える