CREATE TABLE IF NOT EXISTS 'test'(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`campaincode` VARCHAR(100) NOT NULL ,
`description` VARCHAR(100) NOT NULL ,
`paymentplantype` VARCHAR(100) NOT NULL ,
`contractlength` INT NOT NULL ,
`monthlyannuityfactor` DOUBLE NOT NULL ,
`initialfee` DOUBLE NOT NULL ,
`notificationfee` DOUBLE NOT NULL ,
`interestratepercentage` INT NOT NULL ,
`interestfreemonths` INT NOT NULL ,
`paymentfreemonths` INT NOT NULL ,
`fromamount` DOUBLE NOT NULL ,
`toamount` DOUBLE NOT NULL ,
`timestamp` INT UNSIGNED NOT NULL ,
`storeid` INT NOT NULL
)
回答
您sholud刪除表名'
字符如下
CREATE TABLE IF NOT EXISTS test(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`campaincode` VARCHAR(100) NOT NULL ,
`description` VARCHAR(100) NOT NULL ,
`paymentplantype` VARCHAR(100) NOT NULL ,
`contractlength` INT NOT NULL ,
`monthlyannuityfactor` DOUBLE NOT NULL ,
`initialfee` DOUBLE NOT NULL ,
`notificationfee` DOUBLE NOT NULL ,
`interestratepercentage` INT NOT NULL ,
`interestfreemonths` INT NOT NULL ,
`paymentfreemonths` INT NOT NULL ,
`fromamount` DOUBLE NOT NULL ,
`toamount` DOUBLE NOT NULL ,
`timestamp` INT UNSIGNED NOT NULL ,
`storeid` INT NOT NULL
)
是的 - 你也可以刪除所有反引號! – Strawberry
有你與你的SQL
- 有幾個問題是要檢查的方式如果表格存在
- 您沒有正確指定小數數據類型
- 的是無需包裝在「
是檢查代碼,如果,如果我不存在表中存在創建它
/* CHECK IF THE TABLE EXISTS IN sys.objects*/
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = object_id(N'[dbo].[Table]') AND type in (N'U'))
BEGIN -- If it dont create the table
CREATE TABLE [VI].[dbo].[Table]
(
id INT NOT NULL identity(1,1) PRIMARY KEY
, campaincode VARCHAR(100) NOT NULL
, [description] VARCHAR(100) NOT NULL --if you want to use keywords that SQL uses like description it is best practise to wrap them in []
, paymentplantype VARCHAR(100) NOT NULL
, contractlength INT NOT NULL
, monthlyannuityfactor decimal(18, 0) NOT NULL -- when using decimal you must also type in the amount of numbers you want before the .(decimal place) and the amount you want after the decimal place
-- i have set this to 18 before the . and 0 after this is the deafult when creating tables
, initialfee decimal(18, 0) NOT NULL
, notificationfee decimal(18, 0) NOT NULL
, interestratepercentage INT NOT NULL
, interestfreemonths INT NOT NULL
, paymentfreemonths INT NOT NULL
, fromamount decimal(18, 0) NOT NULL
, toamount decimal(18, 0) NOT NULL
, [timestamp] INT NOT NULL
, storeid INT NOT NULL
)
END
如果你需要更多的幫助 所有的話消息我也不會忘記標記答案爲完整的,如果它回答你的問題
「CREATE TABLE IF NOT EXISTS」有什麼問題? http://dev.mysql.com/doc/refman/5.1/de/create-table.html – joe776
這個標籤引用了phpmyadmin,在這個回答不恰當的情況下! – Strawberry
表名引號insted它應該有backtiks。試試這個:
CREATE TABLE IF NOT EXISTS `test`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`campaincode` VARCHAR(100) NOT NULL ,
`description` VARCHAR(100) NOT NULL ,
`paymentplantype` VARCHAR(100) NOT NULL ,
`contractlength` INT NOT NULL ,
`monthlyannuityfactor` DOUBLE NOT NULL ,
`initialfee` DOUBLE NOT NULL ,
`notificationfee` DOUBLE NOT NULL ,
`interestratepercentage` INT NOT NULL ,
`interestfreemonths` INT NOT NULL ,
`paymentfreemonths` INT NOT NULL ,
`fromamount` DOUBLE NOT NULL ,
`toamount` DOUBLE NOT NULL ,
`timestamp` INT UNSIGNED NOT NULL ,
`storeid` INT NOT NULL
)
一些有用的信息,反引號總是應該使用。但是爲什麼一個團隊可能不想使用它們有一些原因。
優點:
- 使用它們,有沒有保留字或禁止字符。
- 在某些情況下,您會收到更多描述性錯誤消息。
- 如果你避免不好的做法,你不會在乎,但是......實際上, 有時它們是避免SQL注入的體面方式。
缺點:
- 它們不是標準,通常不便於攜帶。但是,只要 您不使用反引號作爲標識符的一部分(這是我能夠想象得出的最糟糕的 實踐),那麼您可以通過自動刪除反引號將您的查詢移植到 。
- 如果你的一些查詢來自Access,他們可能會引用表名 與「(也許你不能刪除所有的」盲目「)。但是,允許使用反引號和雙引號的組合。
- 一些愚蠢的軟件或功能過濾您的查詢,並有 反向問題。然而,它們是ASCII的一部分,所以這個 意味着你的軟件/功能非常糟糕。
- 1. 我的sql命令有什麼問題?
- 2. 我的SQL Case Query有什麼問題
- 3. 我的SQL PreparedStatement有什麼問題?
- 4. 我的SQL查詢有什麼問題?
- 5. 我的SQL查詢有什麼問題
- 6. 我的SQL語句有什麼問題?
- 7. 我的SQL語句有什麼問題?
- 8. 我的PL/SQL塊有什麼問題?
- 9. 我的sql連接有什麼問題?
- 10. 我的sql語句有什麼問題
- 11. 我的sql格式有什麼問題
- 12. 我的SQL有什麼問題?
- 13. SQL有什麼問題?
- 14. SQL Query有什麼問題?
- 15. 請問我的sql查詢有什麼問題?
- 16. 我的代碼有什麼問題?爲什麼我有錯誤?
- 17. 我的SQL語法用於JOIN的UPDATE有什麼問題?
- 18. 我的玉有什麼問題?的
- 19. 這個SQL查詢有什麼問題?
- 20. 此SQL INSERT語句有什麼問題?
- 21. 這個SQL查詢有什麼問題?
- 22. 這個SQL查詢有什麼問題?
- 23. 這個SQL代碼有什麼問題?
- 24. 這個SQL查詢有什麼問題?
- 25. sql查詢有什麼問題
- 26. 這個SQL有什麼問題?
- 27. 這個sql查詢有什麼問題?
- 28. 這個SQL查詢有什麼問題?
- 29. 這個SQL過程有什麼問題?
- 30. 這個sql語句有什麼問題?
有很多大寫的... JKS請frovide錯誤信息 –
看你如何使用反引號那裏!?那麼,有一個地方你使用了別的東西! – Strawberry
此外,你想要DOUBLE而不是DECIMAL是非常不可能的。但是我知道什麼? – Strawberry