0
#1064 - You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near ')
)' at line 7 

我有这个问题,但我不知道错误在哪里。
我已经阅读了mysql错误文档,它说错误是关于解析的。但我还是不明白,谢谢你的帮助。
这是一个 sql 查询:

CREATE TABLE IF NOT EXISTS produk_detil (
 id_produk varchar( 10 ) NOT NULL ,
 short_desc text NOT NULL ,
 long_desc text NOT NULL ,
 min_beli int( 5 ) ,
 jml_qty int( 10 ) ,
 berat double( 7 )
);

CREATE TABLE IF NOT EXISTS harga(
 id_produk varchar(10) NOT NULL,
 tgl_aktif date NOT NULL,
 tgl_deaktif date,
 nominal_harga double(10)
);

CREATE TABLE IF NOT EXISTS testimonials(
 id_testimoni varchar(10),
 id_produk varchar(10),
 id_user varchar(10),
 isi_konten text,
 tgl_buat date,
 tgl_modifikasi date
);

CREATE TABLE IF NOT EXISTS order(
 id_order varchar(10) NOT NULL PRIMARY KEY,
 id_user varchar(10) NOT NULL,
 tgl_order date,
 total_bayar double(15),
 jml_item int(10)
);

 CREATE TABLE IF NOT EXISTS order_detil(
 id_order varchar(10) NOT NULL,
 id_produk varchar(10) NOT NULL,
 harga double(15) NOT NULL,
 qty int(10)
 );
4

3 回答 3

2

您必须提供 double 的小数位数,例如 double (7, 2 ) 表示您的号码共有 7 位,其中 2 位是小数位,就像 10233,95

顺便说一句,我强烈建议您习惯使用英文列名.. 有一天会有人需要了解您的数据库方案并且不会说您的语言

于 2013-06-12T22:49:54.310 回答
0

您需要为双精度数提供小数位。例如: berat double( 7 ,2) 可以正常工作

于 2013-06-12T22:53:31.747 回答
0

查看声明具有双数据类型的列的语法。

你必须指出整数的长度和小数部分的长度

nominal_harga double(10,10)

在这里阅读更多

于 2013-06-12T22:53:50.503 回答