MySQL:创建表时出现语法错误

时间:2013-06-14 15:51:48

标签: mysql vb.net

我想创建一个新表,但我在某处有语法错误。 然而,无论我多久看一次,我都看不到它在哪里。

有人可以发现我的错误吗?

Dim cmdCreate As New MySqlCommand("CREATE TABLE inout (inout_seacher TEXT,inout_guid TEXT,inout_blob LONGBLOB,inout_inouttype INTEGER,inout_automaticallyparsed TINYINT(1)," & _
                                  "inout_price DOUBLE,inout_companyguid TEXT,inout_datetime TEXT,inout_title TEXT,inout_catid INTEGER,inout_vat INTEGER,inout_banktype INTEGER," & _
                                  "inout_banktransferprice DOUBLE,inout_expenseinvoiceexistsinguid TEXT,inout_orderguid TEXT,inout_inoutsubtype INTEGER,inout_outinvoicetype INTEGER)", g_CnWebDB)

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

运气不好。信不信由你“inout”是MySQL中的一个保留词。要么用反引号(`)包装它,要么(更好)把它称为别的东西。另外,你确定你想要DOUBLE而不是DECIMAL吗?

答案 1 :(得分:0)

“inout”是保留字。尝试其他名称。 您也可以使用(), so ( inout`)引用表格的名称。

答案 2 :(得分:0)

正如草莓所说,这是一个用于程序的保留词;直接来自MySQL.com:

  

从MySQL 5.0.30开始,不带参数的存储过程可以   没有括号调用。也就是说,CALL p()和CALL是   等效。

     

CALL可以使用参数将值传回给调用者   声明为OUT或 INOUT 参数。当程序返回时,a   客户端程序也可以获取受影响的行数   在例程中执行的最终语句:在SQL级别,调用   ROW_COUNT()函数;从C API,调用   mysql_affected_rows()函数。