Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

त्रुटि कोड को हल करना:1005। तालिका नहीं बना सकता '' (त्रुटि:150) त्रुटि

advertisment utf8 . के रूप में डिफ़ॉल्ट वर्णसेट वाली तालिका;

लैटिन1 कॉलम utf8 . के बराबर नहीं हैं स्तंभ। तो विदेशी कुंजी बाधा सही ढंग से नहीं बन सकती है। इसलिए 1005 (ER_CANT_CREATE_TABLE) त्रुटि।

यहाँ मेरा mysql लॉग है।

mysql> CREATE TABLE `advertisment` (
    ->   `ADVTNO` varchar(35) NOT NULL,
    ->   `ADVTDATE` date NOT NULL,
    ->   `POSTCODE` int(2) NOT NULL,
    ->   `ADVTOPENDATE` date NOT NULL COMMENT 'ADVERTISEMENT OPENING DATE',
    ->   `ADVTCLOSEDATE` date NOT NULL COMMENT 'ADVERTISEMENT CLOSING DATE',
    ->   `EDITCLOSEDATE` date NOT NULL COMMENT 'CLOSING DATE FOR EDITING APPLICATION',
    ->   `LASTREPRINTDATE` date NOT NULL COMMENT 'LAST DATE FOR REPRINTING APPLICATION',
    ->   `FEESCST` int(4) NOT NULL COMMENT 'FEE FOR SC/ST CATEGORY',
    ->   `FEESTAFF` int(4) DEFAULT NULL COMMENT 'FEE FOR STAFF ',
    ->   `FEEOBC` int(4) DEFAULT NULL COMMENT 'FEE FOR OBC CATEGORY',
    ->   `ADVOCATEEXPERIENCE` int(2) DEFAULT NULL,
    ->   PRIMARY KEY (`ADVTNO`,`ADVTDATE`,`POSTCODE`),
    ->   KEY `fk_post` (`POSTCODE`),
    ->   CONSTRAINT `fk_post` FOREIGN KEY (`POSTCODE`) REFERENCES `postmaster` (`POSTCODE`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- <== This little change make it work.
Query OK, 0 rows affected (0.06 sec)

mysql> CREATE TABLE `candidatemain` (
    ->
    ->   `ADVTNO` varchar(35) NOT NULL DEFAULT '',
    ->   `ADVTDATE` date NOT NULL DEFAULT '0000-00-00',
    ->   `POSTCODE` int(2) NOT NULL DEFAULT '0',
    ->   `REGISTRATIONNO` int(6) NOT NULL DEFAULT '0',
    ->   `SALUTATION` varchar(10) NOT NULL,
    ->   `FULLNAME` varchar(90) NOT NULL,
    ->   `SURNAME` varchar(30) DEFAULT NULL,
    ->   `NAME` varchar(30) NOT NULL,
    ->   `LASTNAME` varchar(30) DEFAULT NULL,
    ->   `LASTUPDATEDIP` varchar(20) NOT NULL DEFAULT '',
    ->   `LASTUPDATEDDATE` date DEFAULT NULL,
    ->   `ENTRYDATE` date NOT NULL,
    ->   PRIMARY KEY (`ADVTNO`,`ADVTDATE`,`POSTCODE`,`REGISTRATIONNO`),
    ->   KEY `FK_ADVT` (`ADVTNO`, `ADVTDATE`,`POSTCODE`) ,
    ->   CONSTRAINT `FK_ADVT` FOREIGN KEY (`ADVTNO`, `ADVTDATE`,`POSTCODE`) REFERENCES `advertisment ` (`ADVTNO`, `ADVTDATE`,`POSTCODE`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.12 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. परिवर्तनीय इनलाइन को mysql मान असाइन करना

  2. गैर-शून्य पंक्तियों के बाद 0-मूल्यवान डेटाबेस पंक्तियों को क्रमबद्ध करें

  3. MySQL निर्दिष्ट कुंजी बहुत लंबी थी

  4. डेटाबेस तालिका में केवल महीना, दिन और समय सम्मिलित करने का सबसे अच्छा तरीका क्या है?

  5. डेटाबेस के रूप में Google डॉक्स का उपयोग कर रहे हैं?