PHP裡面怎麼按時間建立MySQL資料庫?

來源:互聯網
上載者:User
我目前有一個需求,按月份(也就是date('Ym'))建立資料庫,我目前的SQL語句:
$sql = "CREATE TABLE IF NOT EXISTS time (file_id int(10) auto_increment primary key,filename varchar(60),filepath varchar(60),filesize int(10),uploadtime date)";

如果把time賦值time=date('Ym')會報錯滴(SQL文法不正確),怎麼寫才正確?


回複討論(解決方案)

MySQL 一般要求表名、欄位名符合變數命名規則。
即 以字母或底線 開始,後跟若干個 字母、數字、底線 組合
對於不符合變數命名規則的名字或雖符合但該名字值 mysql 保留字時,需要用轉義符 ` 將其括起
CREATE TABLE IF NOT EXISTS `201303` (....
就可以了

MySQL 一般要求表名、欄位名符合變數命名規則。
即 以字母或底線 開始,後跟若干個 字母、數字、底線 組合
對於不符合變數命名規則的名字或雖符合但該名字值 mysql 保留字時,需要用轉義符 ` 將其括起
CREATE TABLE IF NOT EXISTS `201303` (....
就可以了
那麼變數怎麼轉義?比如$dbtime=date('Ym'),資料庫名稱是$dbtime,那麼語句怎麼寫?

我猜不出來你想幹什麼

我猜不出來你想幹什麼
按月份建立資料庫,比如現在是2013年3月份,就在某庫中建立一個叫201303的資料表(如果不存在);4月份就建立201304的資料表,以此類推。我現在要知道這個SQL語句到底怎麼寫才正確

$dbtime = date('Ym');
$sql = "CREATE TABLE IF NOT EXISTS `$dbtime` ( .... ";

其實你前面加一個字元不就簡單明了了?
$dbtime = 't' . date('Ym');
$sql = "CREATE TABLE IF NOT EXISTS $dbtime ( .... ";

$dbtime = date('Ym');
$sql = "CREATE TABLE IF NOT EXISTS `$dbtime` ( .... ";

其實你前面加一個字元不就簡單明了了?
$dbtime = 't' . date('Ym');
$sql = "CREATE TABLE IF NOT EXISTS $dbtime ( .... ";
這個方法管用,分給你了,我再想辦法把前面的t去掉

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.