我不認爲你可以任意做。你可以像下面這樣使用1個語句來做,但是我不知道這樣做對你來說會比在簡單的CREATE TABLE LIKE查詢之後做更改更好。
You could do:
CREATE TABLE Dog AS
(SELECT PersonFirstName AS DogFirstName, PersonLastName AS DogLastName FROM Person);
另一種方式(顯然)是用SQL之外的另一種語言編寫腳本。
你可以做的另一件事就是讓現有的列名從桌子上
SELECT @colname := `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA`='YOURDATABASE' AND `TABLE_NAME`='YOURTABLE' limit 0, 1;
然後用mysql子()砍下前綴。
set @chopped = substring(@colname, ....)
然後將另一個mysql變量設置爲新的前綴。
set @newprefix = ''
然後運行一個CREATE TABLE AS查詢並對變量(新的前綴+斬波列名稱)進行連接。這會很快變得複雜。
我認爲從別人的意見很明顯,你不應該嘗試在mysql中自動執行此操作。最好使用可以輕鬆運行邏輯的腳本。
請告訴我爲什麼你需要有一個前綴? –
我認爲這個表格足夠前綴:'Person.FirstName'與'Person.PersonFirstName'是平等的(如果不是更有意義的話) –
Ed,Rob,我有很多原因使用我自己的前綴。其中之一是我有一個廣泛的元數據類型的表,它不被MySql捕獲並且我自己維護。我有時需要根據前綴進行查找。另一個是在我調試時在我的代碼中輕鬆定位列名。第三是爲了我自己的內在清晰。數據庫非常複雜,我不想迷路。 –