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

MySQL एक Enum में फ़ील्ड जोड़ें

Enum मानों को जोड़ने का कोई आसान तरीका नहीं है।

यह बदसूरत और अनुपयोगी है, लेकिन मुझे लगता है कि यह आपको एक विचार देगा:

<?php

$sql = "select table_schema
             , table_name
             , column_name
             , column_type
             , is_nullable
             , column_default
          from information_schema
         where data_type = 'enum'";

$res = mysql_query($sql);

while ($row = mysql_fetch_assoc($res)) {

  // these are important -->       leading comma --v      close paren --v
  $new_enum = substr($row['column_type', 0, -1) . ",'new','enums','here')"

  $sql = "alter table `{$row['table_schema']}`.`{$row['table_name']}`";
  $sql .= " modify column `{$row['column_name']}`";
  $sql .= " $new_enum";
  $sql .= ($row['is_nullable'] == 'YES') ? " NULL" : " NOT NULL";
  $sql .= " default $row['column_default']";

  mysql_query($sql);
}

आप शायद इसे "पूरी तरह से MySQL में" संग्रहीत प्रक्रिया के साथ कर सकते हैं, लेकिन यह अभी मेरे दिमाग को लपेटने से कहीं अधिक है। :)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रत्येक श्रेणी के लिए 2 अंतिम पोस्ट प्राप्त करें

  2. php में स्ट्रिंग को MySQL टाइमस्टैम्प प्रारूप में कनवर्ट करना

  3. Utf8_general_ci और utf8_unicode_ci में क्या अंतर है?

  4. Mysql कार्यक्षेत्र से मेरा डेटाबेस निर्यात नहीं कर सकता

  5. मेरी एसक्यूएल में कॉलम के समूह पर पंक्ति संख्या चाहते हैं?