2012-03-21 4 views
0

私はPHP Yiiフレームワークでmysqlを使用しています。データモデリングを行う際には疑いがありません。私はこのようなユーザーの詳細のテーブルを持っています。MySQLデータベースでスラッシュを使用する

CREATE TABLE IF NOT EXISTS `tbl_users` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `firstname` varchar(80) NOT NULL DEFAULT '', 
    `lastname` varchar(80) NOT NULL DEFAULT '', 
    `gender` varchar(6) NOT NULL DEFAULT '', 
    `email` varchar(45) NOT NULL DEFAULT '', 
    `company_name` varchar(80) NOT NULL DEFAULT '', 
    `contact_no` varchar(45) NOT NULL DEFAULT '', 
    `address` varchar(120) NOT NULL DEFAULT '', 
    `state` varchar(45) NOT NULL DEFAULT '', 
    `country` varchar(45) NOT NULL DEFAULT '', 
    `created_by` int(11) DEFAULT NULL, 
    `updated_by` int(11) DEFAULT NULL, 
    `created_at` datetime DEFAULT NULL, 
    `updated_at` datetime DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=98 ; 

ここに私の問題は、私は状態が欲しい私はstate/city

`state/city` varchar(45) NOT NULL DEFAULT '', 
    `state/province` varchar(45) NOT NULL DEFAULT '', 

のようなフィールドを使用できるように、国はこのようにする必要がありますですので、このように使用することが安全であるか、私が使用する必要がありますそこには1つのオプションしかありません。

+0

"フィールド名に'/'を付けるのは有効ですか?" –

+0

はい...有効ですか? – NewUser

答えて

2

はい、有効です。しかし、あなたはいつもバックティックでそれを引用する必要があります。

許容範囲の詳細については、http://dev.mysql.com/doc/refman/5.5/en/identifiers.htmlを参照してください。

+0

このリンクには、「データベースとテーブル名には「/」、「\」、「。」、またはファイル名に許可されていない文字は含まれていません」と書かれています。 – NewUser

+0

@newuser:それは古いリンクにありました(バージョン4.1用)。しかしどちらの方法でも、テーブル名ではなく列名について話しています。 –

+0

ok..thanks a lot – NewUser

関連する問題