讓powerdesigner產生的sql語句在mysql上成功執行

來源:互聯網
上載者:User

花了大概半天的時間學習了下powerdesigner的用法,等我產生sql語句時,發現在產生的sql語句根本不能在mysql中執行,當然我的dbms是設定了mysql的。

在網上搜尋一通,也沒有什麼好的解決方案。自己摸索了一下,已經搞定了。

首先說明下,我產生的sql語句不能在mysql上執行,是因為表中的主鍵包含了自增的屬性,所以產生的程式碼不能在mysql上執行,錯誤如下:

就是說自增的那個列必須是主鍵,很顯然是因為powerdsigner產生的程式碼不能被mysql正確的執行的,查看powerdesigner產生的程式碼如下:

create table scnu_homework_answer(   answer_id            bigint not null auto_increment    tenant_id            bigint not null    answer_iscorrected   smallint not null   answer_tea_isdeleted smallint not null    answer_stu_isdeleted smallint not null);alter table scnu_homework_answer   add primary key (answer_id);

可以發現,表的自增屬性是先設定的,但是表的主鍵的自增是在表建立之後進行的,所以mysql才會報錯。知道原因,那然後就是解決問題了。

我想說powerdesigner的人性化不是很好一些設定項好難找,不過這也很好理解,大軟體功能複雜,就有這個特點了,畢竟人家強大。下面解決這個問題。

在PDM的布局上(Diagram)雙擊一個表,彈出下列框:

然後點擊preview標籤頁,出現下列介面:

點擊圖中紅色圈起來的表徵圖,這個表徵圖就是關鍵了,點擊出現下面的視窗:

好,就是中紅色圈中的內容,選中inside,然後確定就可以了。

至此,powerdesigner產生的sql代碼可以順利的在mysql中執行了,現在產生的程式碼如下:

create table scnu_homework_scores(   scores_id            bigint not null auto_increment ,   primary key (scores_id));

可以看到主鍵以inside的方式產生了。

問題解決。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.