2016-04-25 18 views
-3

私は私が私のSQLデータベースにテーブルを作成しようとするたびに、このエラーを得続ける:NOTはusersid int型を存在する場合は」近くに構文エラーが表を作成します。クエリ内のエラーSYNTAX ERROR

エラー(1064) ?ライン2

で(10)NOT NULL AUTO_INCREMENTは、 `」私はあなたのuseコマンドでエラーがあります

use luke_f_db 
CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) NOT NULL AUTO_INCREMENT, 
`username` varchar(50) NOT NULL, 
`email` varchar(50) NOT NULL, 
`password` varchar(50) NOT NULL, 
`trn_date` datetime NOT NULL, 
PRIMARY KEY (`id`) 
); 
+0

'use luke_f_db'? 'mysqli_select_db()'または適切ですか? –

+3

'USE'の後にセミコロンを投げてください(あるいは、実際には問い合わせの外側で行うのがコネクションステートメントの中で一番です)。 – Quassnoi

+0

一部のメールアドレスでは50文字では不十分です。大抵のフィールドには 'VARCHAR(255)'を使用してください。そうしなければ、ストレージコストは通常​​ゼロになります。 – tadman

答えて

1

これでいくつかの助けを得ることができます;最初の行の後ろまたはちょうどかどうかを確認しますデータベースが存在し、あなたのアカウントにアクセスできます。

CREATEコードがうまくいきました。

1

クエリごとに1つのコマンド**を実行できます。 mySQLコマンドラインクライアントでは、で複数のコマンドを分割できます。を実行しますが、引き続きそれらを順番に実行します。

use luke_f_db行を削除してください。使用するデータベースはconnectコマンド内で選択する必要があります。 http://www.w3schools.com/php/func_mysqli_connect.aspを参照してください:

$con = mysqli_connect("localhost","my_user","my_password","my_db"); 

データベース名がmysqli_connectする最後の引数です。

同じ情報は、公式PHPのドキュメントにありますhttp://php.net/manual/en/mysqli.construct.php

**いくつかのMySQLクライアントの実装も1回の呼び出しで複数のコマンドを許可しますが、それを避ける必要があります。スクリプトでこの機能を使用すると、他のデータベースに移植することができず、エラーが発生した場合にエラーの原因となったコマンドを知ることはできません。

+0

可能であれば、PHPの公式ドキュメントにリンクしてください。 – tadman

+0

この場合は明らかではありません:http://php.net/manual/en/function.mysqli-connect.phpとhttp://php.net/manual/en/mysqli.construct.php – Sebastian

+0

それはドイツ語です私が知る限りバージョン。 – tadman

関連する問題