2016-12-28 2 views
0

Ich habe diese mysql-Datenbanktabelle relationships genannt. Hier ist die Struktur:phpmyadmin nicht erlauben MySQL-Funktionen in INSERT-Anweisung

CREATE TABLE IF NOT EXISTS `relationships` (
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT, 
    `user_id` INT(10) UNSIGNED NULL, 
    `restaurant_id` INT(10) UNSIGNED NULL, 
    `company_id` INT UNSIGNED NULL, 
    `role_id` INT(10) UNSIGNED NULL, 
    `created` DATETIME NULL, 
PRIMARY KEY (`id`)) 
ENGINE = InnoDB 

ich phpMyAdmin versuchte mit einem neuen Datensatz legen, sondern für das Leben von mir, würde es nicht zulassen, dass ich die NOW() Funktion verwenden, um das created Feld zu setzen.

enter image description here

Allerdings gelang es mir, wenn die Befehlszeile:

enter image description here

Meine Frage ist, wie MySQL-Funktion arbeitet in einer Insert-Anweisung zu machen, wenn phpMyAdmin? Oder ist es eine Art von Konfigurationsproblem in der Entwicklungsumgebung? Ich benutze derzeit Ubuntu 16.04.

+1

Haben Sie 'CURRENT_TIMESTAMP()' auch für 'DATETIME' versucht? – JunM

+0

@JunM Vielen Dank für den Vorschlag. 'CURRENT_TIMESTAMP()' funktioniert wie ein Zauber. Es ist ziemlich seltsam. Warum sollte 'NOW()' nicht funktionieren? Ich glaube, es ist ein Parsing-Bug. – crownlessking

+0

Welche phpMyAdmin Version verwendest du? –

Antwort

1

Dies war ein Problem mit dem Linter (Syntax Checker) von phpMyAdmin, wurde aber vor einiger Zeit behoben. Da 4.5.4 ungefähr ein Jahr alt ist und nicht mehr unterstützt wird, schlage ich vor, dass Sie Ihre phpMyAdmin-Installation aktualisieren. Sie können immer noch "Go" drücken und die Abfrage wird ausgeführt, das rote "x" ist nur eine Warnung und hindert Sie nicht daran, Ihre Anfrage zu übermitteln (tatsächlich habe ich nur eine ähnliche Abfrage mit der gleichen Version ausgeführt und sie trotzdem korrekt ausgeführt die Warnung).

1

Dies sollte gut funktionieren, manchmal phpmyadmin Abfrage-Editor zeigt dieses Fehler (Kreuz) Zeichen, bitte versuchen Sie die Seite zu aktualisieren und diese Abfrage erneut ausführen.

Ich habe diesen Code in phpmyadmin kürzlich ausgeführt.