第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在MySQL數(shù)據(jù)庫中獲取枚舉可能的值?

如何在MySQL數(shù)據(jù)庫中獲取枚舉可能的值?

滄海一幻覺 2019-10-28 10:51:28
我想用數(shù)據(jù)庫中的枚舉可能的值自動填充下拉列表。這在MySQL中可能嗎?
查看完整描述

3 回答

?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個贊

我有一個適合您的codeigniter版本。它還從值中去除引號。


function get_enum_values( $table, $field )

{

    $type = $this->db->query( "SHOW COLUMNS FROM {$table} WHERE Field = '{$field}'" )->row( 0 )->Type;

    preg_match("/^enum\(\'(.*)\'\)$/", $type, $matches);

    $enum = explode("','", $matches[1]);

    return $enum;

}


查看完整回答
反對 回復(fù) 2019-10-28
?
白板的微信

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個贊

您可以通過查詢?nèi)缦聛慝@取值:


SELECT SUBSTRING(COLUMN_TYPE,5)

FROM information_schema.COLUMNS

WHERE TABLE_SCHEMA='databasename' 

    AND TABLE_NAME='tablename'

    AND COLUMN_NAME='columnname'

從那里,您需要將其轉(zhuǎn)換為數(shù)組:


如果您很懶,請直接將其評估為數(shù)組(盡管MySQL的單引號轉(zhuǎn)義可能不兼容),或者

$ options_array = str_getcsv($ options,',',“'”)可能會起作用(如果更改子字符串以跳過開頭和結(jié)尾的括號),或者

正則表達(dá)式


查看完整回答
反對 回復(fù) 2019-10-28
?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個贊

如果要確定ENUM列的所有可能值,請使用SHOW COLUMNS FROM tbl_name LIKE enum_col并在輸出的Type列中解析ENUM定義。


您會想要類似:


$sql = "SHOW COLUMNS FROM `table` LIKE 'column'";

$result = $db->query($sql);

$row = $result->fetchRow();

$type = $row['Type'];

preg_match('/enum\((.*)\)$/', $type, $matches);

$vals = explode(',', $matches[1]);

這將為您提供引用的值。MySQL總是返回用單引號括起來的這些。值中的單引號由單引號引起來。您可能可以安全地調(diào)用trim($val, "'")每個數(shù)組元素。您將需要轉(zhuǎn)換''為just '。


以下代碼將返回$ trimmedvals數(shù)組項(xiàng)目,但不帶引號:


$trimmedvals = array();

foreach($vals as $key => $value) {

$value=trim($value, "'");

$trimmedvals[] = $value;

}


查看完整回答
反對 回復(fù) 2019-10-28
  • 3 回答
  • 0 關(guān)注
  • 1202 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號