我正在尝试在我的数据库accountdb
中创建一个表。我创建表的查询是:
$query1="CREATE TABLE asset( id int(16) auto_increment primary key,TotBalance double(35),creditAmnt double(35),debitAmnt double(35))";
之后,当我执行上述查询时,会创建数据库,但创建表时出错。错误如下:
error creating tableYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '),creditAmnt double(35),debitAmnt double(35))' at line 1
如何解决此错误?
答案 0 :(得分:4)
这是正确的查询:
CREATE TABLE asset(
id int(16) auto_increment primary key NOT NULL,
TotBalance double(35,3),
creditAmnt double(35,3),
debitAmnt double(35,3)
);
当数据类型为double,float或decimal时,需要指定小数位。
更正语法以创建双数据类型列:
double(D,M);
M
是总位数,D
是小数点后面的位数。
另请参阅:http://code.rohitink.com/2013/06/12/mysql-integer-float-decimal-data-types-differences/
我希望这会对你有所帮助。
答案 1 :(得分:1)
CREATE TABLE IF NOT EXIST asset(
id int(16) auto_increment primary key
,TotBalance double(35)
,creditAmnt double(35)
,debitAmnt double(35)
);
答案 2 :(得分:1)
CREATE TABLE assets
(
id
int(16)NOT NULL AUTO_INCREMENT,
Tot_balance
bigint(20)NOT NULL,
Credit_Amt
bigint(20)NOT NULL,
Debit_Amt
bigint(20)NOT NULL,
主要关键(id
)
)ENGINE = MyISAM DEFAULT CHARSET = latin1